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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • WIN7 64位 VS2013下载

    WIN7 64位 VS2013下载下载网址:https://msdn.itellyou.cn/复制到迅雷进行下载。 

  • oSIP协议栈浅析

    oSIP协议栈浅析1.oSIP介绍2.oSIP结构分析2.1oSIP结构2.2状态机(FiniteStateMachines)模块2.2.1 概述2.2.2ICT状态机2.2.3NICT状态机2.2.4IST状态机2.2.5NIST状态机2.3解析器(Parsers)模块2.3.

  • IDEA汉化教程(一分钟即可)「建议收藏」

    IDEA汉化教程(一分钟即可)「建议收藏」Idea汉化教程(简单,一分钟即可)步骤打开idea点击左上角的File,然后点击Settings(如下图)进去后点击Plugins,然后点击Marketplace,然后再搜索框搜索chinese然后搜索出东西,点击下面标注的,点击安装然后下载好后再点击右侧的安装(由于我已经安装了,所以才有中文跟显示以安装)。安装完后重启就可以看到idea被汉化了…

  • samba文件共享服务配置过程_文件服务器硬件要求

    samba文件共享服务配置过程_文件服务器硬件要求一、共享需求:建立公共目录public,开启匿名用户访问权限,所有人均可读写(方便但不安全) 建立public文件,只有@admin组和admin、job用户可以进行读写,其余用户均不可以访问。要求:admin用户不能删除job用户创建的文件,反之亦然。 建立hr共享文件,要求用户名和密码验证访问,只有@hr组和hr1,job的用户可以进行访问。要求:@hr组和hr1具有完全控制的权限,job用户只有读取的权限。 建立eng共享文件,除了@eng组和eng1的用户可以访问,其他人均不可以访问,也

  • 从零开始学Android_数学从零开始要学多久

    从零开始学Android_数学从零开始要学多久1环境搭建如果可以翻墙,环境搭建不是什么大问题,如果不能翻墙,则搭建环境比较困难。首先,我们根据网上的教程安装JDK。然后安装Androidstudio,最后进行一些配置,具体可以参考如下链接:https://jingyan.baidu.com/article/36d6ed1f9031bc1bcf4883f7.html。如果是国内环境,需要配置相关的国内镜像和仓库。有条件的话还是选择VPN的方…

  • npm包–rimraf[通俗易懂]

    npm包–rimraf[通俗易懂]1/含义rimraf 包的作用:以包的形式包装rm-rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除2/安装npminstallrimraf–save-dev3/使用constrimraf=require(‘rimraf’);rimraf(‘./test.txt’,function(err){//删除当前目录下的t

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

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