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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java用户态和内核态「建议收藏」

    java用户态和内核态「建议收藏」在<深入理解java虚拟机>这本书上多次看到用户态和内核态两个名词,虽然大概能明白意思.但对于两者具体的定义和区别还是比较,特此查阅之后记录.内核态(KernelMode)与用户态(UserMode)内核态:CPU可以访问内存所有数据,包括外围设备,例如硬盘,网卡.CPU也可以将自己从一个程序切换到另一个程序用户态:只能受限的访问内存,且不允许访问外…

    2022年9月17日
    4
  • 自然常数e的意义

    自然常数e的意义出处 http www fengchang cc post 104 这两天看黎曼猜想的新闻刷屏 虽然这个猜想还未得到证明 当今数学文献中已有超过一千条数学命题以黎曼猜想 或其推广形式 的成立为前提 反复见之于是想了解一下 不过了解之前顺便先看下相关的这个自然对数 中学数学都知道 e 是一个常量 无理数 重要性不亚于圆周率 值约等于 2 71828 但是这完全不能算是一个定义 也完全摸不清头脑这

    2025年11月27日
    5
  • Python3 dir() 函数

    Python3 dir() 函数

    2021年10月21日
    44
  • 数据库泄露,QQ密码,原来是这样「建议收藏」

    数据库泄露,QQ密码,原来是这样「建议收藏」近期大批数据库被暴,何解呢?参考相关帖子,加上本人的一点见解,有如下结论其实也不是什么结论,纯粹就是什么呢,嗯。。。。“一点都不意外,这在我们圈里流传很久了。”中国鹰派联盟网的创立者、鹰派代表万涛如此评价近期多家网站用户信息遭泄露一事。万涛曾参与组织了2001年中美黑客大战。万涛告诉早报记者,这些用户信息在业内已经是公开的,只是最近有好事者将其公布在网络上。他表

    2022年9月18日
    2
  • JavaScript高级程序设计学习总结一

    JavaScript高级程序设计学习总结一一,JavaScript的实现JavaScript和ECMAScript通常都被人认为是相同的含义,JavaScript的含义比ECMAScript规定要多的多。一个完整的的JavaScript实现应该由三个不同的部分组成。核心(ECMAScript的) 文档对象模型(DOM) 浏览器对象模型(BOM)二,ECMAScript中是由ECMA-262定义的,ECMASc…

    2022年8月22日
    7
  • jquery下载教程[通俗易懂]

    jquery下载教程[通俗易懂]jquery下载教程建议使用google浏览器下载,不建议使用IE浏览器(没有办法生成.js文件,只能复制粘贴)第一种方法第二种方法

    2022年6月6日
    33

发表回复

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

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