今天开始查阅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(指尖天下),欢迎大伙加入交流学习。
分享到:
相关推荐
SpringBoot 源码解析——源码模块功能分析 SpringBoot 源码解析是指对 SpringBoot 框架的源码进行深入分析和研究,以了解框架的内部机制和工作原理。源码模块是 SpringBoot 框架的核心组成部分,它们之间的交互和...
摘要:原创出处「芋道源码」欢迎转载,保留摘要,谢谢!1. 概述666.
**Elasticsearch中文文档——基于7.11版本** Elasticsearch是一款强大的开源搜索引擎,它以分布式、实时、全文检索的特性而广受开发者欢迎。7.11版本是其历史上的一个重要版本,包含了多项改进和优化。在这个版本中...
Elasticsearch 5.4.0 是一个流行的开源搜索引擎和分析引擎,广泛应用于大数据处理、日志分析、实时搜索和监控等场景。它基于 Lucene 库构建,提供了分布式、可扩展、近实时的搜索与分析功能。Maven 是 Java 项目管理...
Elasticsearch源码分析 Elasticsearch是一款基于Lucene的分布式、RESTful搜索和数据分析引擎。它的源码解析对于我们深入理解其内部工作原理至关重要。在深入探讨之前,我们需要知道几个核心概念:分布式、RESTful ...
在安卓(Android)平台上开发应用时,源码的分析与理解是提升开发效率和优化用户体验的关键。本资源“安卓Andriod源码——开心网语音发送模块的录音功能.zip”聚焦于一个特定的功能:语音录制并发送。这个功能在社交...
Elasticsearch是一款开源的、分布式、实时的搜索与分析引擎,它被广泛用于日志分析、全文检索以及复杂的数据分析场景。下面将详细介绍如何在Spring Boot项目中集成这两个关键的Elasticsearch依赖,并探讨其工作原理...
本资源“安卓Android源码——四款小游戏源码分析.zip”提供了一次深入理解Android游戏开发的宝贵机会。通过对这四款小游戏的源码进行分析,我们可以学习到许多关键的编程技术和设计模式。 首先,我们要了解Android...
"Android源码——游戏源码——忍者快跑.zip" 是一个包含了一个具体游戏项目源代码的压缩包,它为我们提供了一个研究Android游戏开发的实例。通过分析这个项目的源代码,我们可以学习到许多关于Android游戏开发的关键...
**Elasticsearch技术解析与实战** Elasticsearch是一款开源、分布式、实时的全文搜索和分析引擎,基于Lucene构建,广泛应用于日志分析、实时监控、数据搜索等多个领域。其核心特性包括强大的全文检索能力、分布式...
Elasticsearch是一款强大的开源搜索引擎,基于Lucene库构建,广泛应用于大数据分析、日志收集、实时搜索等领域。本文将深入解析Elasticsearch的核心概念、架构原理,并结合实战案例,帮助你全面掌握这一技术。 首先...
在IT行业中,Elasticsearch是一个极其重要的开源全文搜索引擎,它基于Lucene构建,以其分布式、实时、可扩展性以及强大的数据分析能力而广受赞誉。在Java开发环境中,Elasticsearch通常作为后端服务来存储、索引和...
Elasticsearch各个Service作用说明看了不少Elasticsearch的源码,代码结构多且复杂,调用链巨长务必,其中各个xxxService更是
在本压缩包“安卓Android源码——Android游戏源码——忍者快跑.zip”中,包含的是一个基于Android平台的游戏应用源代码,名为“忍者快跑”。这个游戏源码是学习和研究Android游戏开发的理想资源,它能帮助开发者深入...
这份名为"安卓Android源码——四款小游戏源码分析.rar"的压缩包文件提供了四个不同的小游戏源码,对于想要深入理解Android游戏开发的程序员来说,这是一份宝贵的资源。以下是对这些游戏源码可能涉及的知识点的详细...
Elasticsearch是一款强大的开源搜索引擎,广泛应用于数据存储、分析和检索。Java客户端Jest是与Elasticsearch交互的一种高效工具,它提供了简单的API,使得在Java应用中操作Elasticsearch变得简单易行。本资源包含的...
"安卓Android源码——游戏源码——忍者快跑.zip"是一个包含了一个具体游戏项目源码的压缩包,我们可以从中学到许多关于Android游戏开发的知识。 1. **Android游戏架构**: 游戏通常基于特定的架构来构建,例如...
Elasticsearch(简称ES)是一款基于Lucene的分布式、RESTful搜索和分析引擎,广泛应用于大数据处理、日志分析、实时搜索等领域。这本书针对不同层次的读者,提供了深入浅出的技术解析和实战指导。 **1. Elastic...