ES 源代码阅读(一)「建议收藏」

ES 源代码阅读(一)

大家好,又见面了,我是全栈君。

启动流程分析:

入口:org.elasticsearch.bootstrap.Elasticsearch->org.elasticsearch.bootstrap.Bootstrap->

生成实例->写进程号->初始化配置文件->初始化设置实例->运行->关闭处理

在初始化设置实例过程中
使用初始化的配置文件初始化node实例,并设置关闭处理.在初始化node过程中,初始化的是InternalNode实例.
在其中的start方法中 使用guice框架,加载不同模块.
首先加载Discovery.class实例,然后执行设置其路由服务.
根据配置可以生成LocalDiscovery和ZenDiscovery.
然后初始化MappingUpdateAction.启动相关线程.
然后依次加载:IndicesService,和IndexingMemoryController,IndicesClusterStateService,IndicesTTLService
RiversManager,SnapshotsService,
TransportService 启动一系列工作线程.
ClusterService ,RoutingService,SearchService,MonitorService,RestController.

LocalGatewayAllocator 初始化

启动DiscoveryService 启动相关线程,初始化GatewayService,启动HTTPServer 启动相关线程,初始化BulkUdpService,初始化ResourceWatcherService,初始化TribeService
以上全部组件设置为启动状态.

当Es处理请求时,会根据请求创建相关EVENT,然后将其和一系列相关listener结合交给线程池去执行,执行过程总,会遍历每个listener,其中传递的参数就是Event,然后执行相关操作.

接下来会结合实际创建索引时的实例来进行源码分析.

转载于:https://my.oschina.net/u/937015/blog/758184

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108841.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • headless CMS_model view controller

    headless CMS_model view controller目录介绍HeadlessCMS什么是HeadlessCMS?HeadlessCMS的优点HeadlessCMS解决方案的局限性使用HCMS的缺点HCMS的局限性何时何地使用HeadlessCMS?RawCMS:构建自己的HeadlessCMS为什么另一个HeadlessCMS?RawCms特征选择架构服务层认证Lambda表…

    2025年5月30日
    3
  • tomcat性能调优(tomcat调优参数有哪些)

    总体架构主要的组件执行过程tomcat调优1.禁用ajp协议2.启用nio模式(提升原有的吞吐量36%)3.开启链接池硬件指标,业务指标4.优化连接器

    2022年4月18日
    102
  • 利用python 提取log 文件里的关键句子,并进行统计分析

    利用python 提取log 文件里的关键句子,并进行统计分析

    2022年1月19日
    44
  • c(多线程编程)

    c(多线程编程)c 多线程编程什么是多线程 相必有些程序或者计算机基础的就会有所了解 我就不做过多赘述了 确实不知道的 可以反手百度 线程开启方法之 委托线程开启 c 中开启多线程的方法之一 是调用委托的 BeginInvoke 方法 可以当即为该委托打开一个新的线程来跑其包含的方法 参数 BeginInvoke 方法有俩个默认的参数 如果当前委托是有参数的 那么委托的参数写在该方法默认参数的前面 判断线程状态 BeginInvoke 方法有个 IAsyncResult 类型的返回值 调用该返回值的 Is

    2025年12月9日
    3
  • jenkins自动触发构建_秒级定时触发器

    jenkins自动触发构建_秒级定时触发器前言跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。jenkins的定时任务是用的crontab语法定时构建语法

    2022年7月29日
    11
  • 朋友圈一键集赞_朋友圈秒赞怎么做到的

    朋友圈一键集赞_朋友圈秒赞怎么做到的哈喽,今天又来给大家伙推荐神器啦~相信各位都曾遇到或亲身参与过朋友圈集赞活动。比如说部分商家、公众号为了达到宣传和涨粉的需求,要求用户转发相关的活动文章、海报到朋友圈,集满一定数量的赞后,才会给予相应的优惠或福利。这种动辄几十,上百的集赞要求,对于平时连朋友圈都懒得发的社畜来说,难度系数直逼五颗星。其一是碍于面子不便集赞,二是实在没有那么多朋友来给自己点赞。图片可是,商家、公众号们赠送的活动福利实在是“太香了”!虽然没有威逼,但是在利诱之下,难免不心动。正所谓,有需求就有市场。用户存在集赞难的痛点,

    2025年9月20日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号