`
yucang52555
  • 浏览: 70235 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

elasticSearch源码分析——依赖注入与模块分析

阅读更多
    今天开始查阅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 源码解析——源码模块功能分析.docx

    SpringBoot 源码解析——源码模块功能分析 SpringBoot 源码解析是指对 SpringBoot 框架的源码进行深入分析和研究,以了解框架的内部机制和工作原理。源码模块是 SpringBoot 框架的核心组成部分,它们之间的交互和...

    YunaiV#Blog#2017_11_28_Elastic-Job-Lite 源码解析 —— 自诊断修复1

    摘要:原创出处「芋道源码」欢迎转载,保留摘要,谢谢!1. 概述666.

    elasticsearch中文文档——基于7.11.zip

    **Elasticsearch中文文档——基于7.11版本** Elasticsearch是一款强大的开源搜索引擎,它以分布式、实时、全文检索的特性而广受开发者欢迎。7.11版本是其历史上的一个重要版本,包含了多项改进和优化。在这个版本中...

    elasticsearch 5.4.0 maven依赖jar包

    Elasticsearch 5.4.0 是一个流行的开源搜索引擎和分析引擎,广泛应用于大数据处理、日志分析、实时搜索和监控等场景。它基于 Lucene 库构建,提供了分布式、可扩展、近实时的搜索与分析功能。Maven 是 Java 项目管理...

    elasticsearch源码

    Elasticsearch源码分析 Elasticsearch是一款基于Lucene的分布式、RESTful搜索和数据分析引擎。它的源码解析对于我们深入理解其内部工作原理至关重要。在深入探讨之前,我们需要知道几个核心概念:分布式、RESTful ...

    安卓Andriod源码——开心网语音发送模块的录音功能.zip

    在安卓(Android)平台上开发应用时,源码的分析与理解是提升开发效率和优化用户体验的关键。本资源“安卓Andriod源码——开心网语音发送模块的录音功能.zip”聚焦于一个特定的功能:语音录制并发送。这个功能在社交...

    SpringBoot 集成ElasticSearch两个依赖的jar

    Elasticsearch是一款开源的、分布式、实时的搜索与分析引擎,它被广泛用于日志分析、全文检索以及复杂的数据分析场景。下面将详细介绍如何在Spring Boot项目中集成这两个关键的Elasticsearch依赖,并探讨其工作原理...

    安卓Android源码——四款小游戏源码分析.zip

    本资源“安卓Android源码——四款小游戏源码分析.zip”提供了一次深入理解Android游戏开发的宝贵机会。通过对这四款小游戏的源码进行分析,我们可以学习到许多关键的编程技术和设计模式。 首先,我们要了解Android...

    Android源码——游戏源码——忍者快跑.zip

    "Android源码——游戏源码——忍者快跑.zip" 是一个包含了一个具体游戏项目源代码的压缩包,它为我们提供了一个研究Android游戏开发的实例。通过分析这个项目的源代码,我们可以学习到许多关于Android游戏开发的关键...

    1_elasticsearch技术解析与实战

    **Elasticsearch技术解析与实战** Elasticsearch是一款开源、分布式、实时的全文搜索和分析引擎,基于Lucene构建,广泛应用于日志分析、实时监控、数据搜索等多个领域。其核心特性包括强大的全文检索能力、分布式...

    Elasticsearch技术解析与实战+Elasticsearch权威指南

    Elasticsearch是一款强大的开源搜索引擎,基于Lucene库构建,广泛应用于大数据分析、日志收集、实时搜索等领域。本文将深入解析Elasticsearch的核心概念、架构原理,并结合实战案例,帮助你全面掌握这一技术。 首先...

    elasticsearch6.3.2_java开发依赖

    在IT行业中,Elasticsearch是一个极其重要的开源全文搜索引擎,它基于Lucene构建,以其分布式、实时、可扩展性以及强大的数据分析能力而广受赞誉。在Java开发环境中,Elasticsearch通常作为后端服务来存储、索引和...

    felayman#elasticsearch-full#Elasticsearch源码分析—Elasticsearch各个Ser

    Elasticsearch各个Service作用说明看了不少Elasticsearch的源码,代码结构多且复杂,调用链巨长务必,其中各个xxxService更是

    安卓Android源码——Android游戏源码——忍者快跑.zip

    在本压缩包“安卓Android源码——Android游戏源码——忍者快跑.zip”中,包含的是一个基于Android平台的游戏应用源代码,名为“忍者快跑”。这个游戏源码是学习和研究Android游戏开发的理想资源,它能帮助开发者深入...

    安卓Android源码——四款小游戏源码分析.rar

    这份名为"安卓Android源码——四款小游戏源码分析.rar"的压缩包文件提供了四个不同的小游戏源码,对于想要深入理解Android游戏开发的程序员来说,这是一份宝贵的资源。以下是对这些游戏源码可能涉及的知识点的详细...

    Elasticsearch之Java客户端Jest的全部依赖jar包

    Elasticsearch是一款强大的开源搜索引擎,广泛应用于数据存储、分析和检索。Java客户端Jest是与Elasticsearch交互的一种高效工具,它提供了简单的API,使得在Java应用中操作Elasticsearch变得简单易行。本资源包含的...

    elasticsearch6.3的jdbc依赖

    总之,Elasticsearch 6.3的JDBC依赖是将关系型数据库的数据高效地导入到Elasticsearch的关键组件,通过配置和运行JDBC驱动程序,可以实现数据的实时同步和分析。了解其工作原理和配置细节,对于在企业级应用中充分...

    安卓Android源码——游戏源码——忍者快跑.zip

    "安卓Android源码——游戏源码——忍者快跑.zip"是一个包含了一个具体游戏项目源码的压缩包,我们可以从中学到许多关于Android游戏开发的知识。 1. **Android游戏架构**: 游戏通常基于特定的架构来构建,例如...

Global site tag (gtag.js) - Google Analytics