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


相关推荐

  • awk数组与语法[通俗易懂]

    awk数组与语法[通俗易懂]1、awk数组1.1数组结构1.2数组分类索引数组:以数字为下标关联数组:以字符串为下标1.3awk关联数组现有如下文本,格式如下:即左边是随机字母,右边是随机数字,即将相同的字母后面的数字加在一起,按字母的顺序输出以$1为下标,创建数组a[$1]=a[$1]+$2或者(a[$1]+=$2)然后配合END和for循环输出结果:for(iina):…

    2022年7月19日
    19
  • Hmily 临时笔记「建议收藏」

    Hmily 临时笔记「建议收藏」概述Hmily是一款高性能分布式事务tcc开源框架。基于java语言来开发(JDK1.8),支持Dubbo、SpringCloud、Motan等RPC框架进行分布式事务。功能高可靠性:支持分布式场景下,事务异常回滚,超时异常恢复,防止事务悬挂易用性:提供零侵入性式的Spring-Boot,Spring-Name…

    2022年5月21日
    43
  • C51浮点数显示、浮点数表示方法

    C51浮点数显示、浮点数表示方法C51中的浮点数存储方式–n年前曾在c51bbs论坛中发布过Float浮点形,它是符合IEEE-754标准的单精度浮点形数据,在十进制中具有7位有效数字。FLOAT型据占用四个字节(32位二进制数),在内存中的存放格式如下:字节地址(由低到高)0123浮点数内容MMMMMMMMMMMMMMMMEMMMMMMMSEEEEEEE其中,S为符号位,存放在最高字节

    2022年6月24日
    54
  • 为低端浏览器定义原型方法replaceAll

    为低端浏览器定义原型方法replaceAllString.prototype.replaceAll=function(regex,replacement){regex=regex.replace(‘!’,’\\!’).replace(‘@’,’\\@’).replace(‘#’,’\\#’).replace(‘$’,’\\$’)returnthis.replace(newRegExp(regex,’gm’),replacement);};

    2022年7月23日
    13
  • c语言hello world代码(代码编程入门)

    usingSystem;usingSystem.Collections.Generic;publicclassMyClass{ structName{ publicstringFirstName; publicstringLastName; publicstringGetName(){ returnFirstName+”·”+LastName; } } structVector3{ publicfloatx;

    2022年4月15日
    185
  • endnote中文参考文献格式下载(医学参考文献格式endnote)

    Endnote中文参考文献格式中华人民共和国国家标准GB/T7714-2015文后参考文献著录规则百度网盘https://pan.baidu.com/s/1I4kz1DjRw_aK7VjV1ytfdw提取码66sy

    2022年4月15日
    221

发表回复

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

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