今天开始查阅es源码,然后就有问题引导了,首先整个系统包含多少个模块?这些模块有事怎么组织管理的呢?
elasticsearch使用的是google开源的依赖注入框架guice,这个项目号称比spring快100倍,具体性能没有测试过,不过由于其代码比较简洁,比spring快很有可能,是不是快那么多就不知道了。
public static void main(String[] args) {
Injector injector = Guice.createInjector(new BillingModule());
BillingService billingService = injector.getInstance(BillingService.class);
}
上面就是在main方法中使用Injector进行注入与获取实例,这就是使用Guice进行依赖注入的一个简单例子。elasticsearch里面的组件基本都是用这种方式进行模块化管理,elasticsearch对guice进行了封装,通过ModulesBuilder类构建es的模块。
大概了解了一下,一个es节点大概包括一下模块:
PluginsModule:插件模块
SettingsModule:设置参数模块
NodeModule:节点模块
NetworkModule:网络模块
NodeCacheModule:缓存模块
ScriptModule:脚本模块
JmxModule:jmx模块
EnvironmentModule:环境模块
NodeEnvironmentModule:节点环境模块
ClusterNameModule:集群名模块
ThreadPoolModule:线程池模块
DiscoveryModule:自动发现模块
ClusterModule:集群模块
RestModule:rest模块
TransportModule:tcp模块
HttpServerModule:http模块
RiversModule:river模块
IndicesModule:索引模块
SearchModule:搜索模块
ActionModule:行为模块
MonitorModule:监控模块
GatewayModule:持久化模块
NodeClientModule:客户端模块
接下来,就需要对这些模块进一步分析。
程序猿行业技术生活交流群:181287753(指尖天下),欢迎大伙加入交流学习。
分享到:
相关推荐
elasticsearch中文文档——基于7.11.zip
摘要:原创出处「芋道源码」欢迎转载,保留摘要,谢谢!1. 概述666.
Elasticsearch各个Service作用说明看了不少Elasticsearch的源码,代码结构多且复杂,调用链巨长务必,其中各个xxxService更是
安卓Android源码——仿ES文件浏览器.zip
安卓Android源码——仿ES界面文件浏览器源码.zip
分布式搜索elasticsearch几个概念解析 3 分布式搜索elasticsearch单机与服务器环境搭建 4 ...Elasticsearch源码分析之一使用Guice进行依赖注入与模块化系统 54 分布式搜索elasticsearch-index流程 57
elasticsearch 5.4 maven依赖jar包 x-pack-transport5.4.0所有依赖jar包
Android源码——仿ES界面文件浏览器源码.zip
elasticsearch源码,学习学习
SpringBoot 集成ElasticSearch两个依赖的jar下载,大家可以看一下,我的项目启动了,不懂加Q 243517277,请注明来源
Elasticsearch技术解析与实战+Elasticsearch权威指南两本电子书,合集共享,让你早日学习了解Elasticsearch
IOS应用源码——opengl es1 iphone !.zip
1_elasticsearch技术解析与实战1_elasticsearch技术解析与实战1_elasticsearch技术解析与实战
安卓Android源码——Barrage_OpenGLES.zip
Elasticsearch技术解析与实战 ,朱林(完整板)Elasticsearch技术解析与实战 ,朱林(完整板)Elasticsearch技术解析与实战 ,朱林(完整板)
基于elasticsearch6.3.2进行java开发所需要的全部依赖
elasticsearch技术解析与实战,压缩包第二部分。
Elasticsearch之Java客户端Jest的全部依赖jar包,亲测有效。