Elasticsearch(ES)模块结构图

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

图片

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ

Hadoop HDFS

Elasticsearch ES (本章节)

前面我们用了3个小节来介绍ES所涉及到底层技术:倒排索引,分词,Lucene,今天来贴一个整个架构图。

此图来源于网络,且该架构已经和当前的版本部分数据不一致,仅作理解。

图片

第一层:交互层

RESTful Style API:提供 RESTful 风格接口,让用户 / 程序能通过 HTTP 方法(GET/POST 等)操作 Elasticsearch(如创建索引、查询数据 ),是开发者常用的交互入口。

Java(Netty):基于 Netty 实现 Java 层面的网络通信支持,保障高效请求处理与响应。

JMX:Java 管理扩展,用于监控、管理 Elasticsearch 的运行状态(如内存、线程等)。

3rd Plugins:第三方插件扩展层,可通过插件增强 Elasticsearch 功能(如自定义分词、集成其他系统 )。

第二层:传输层(Transport)

    Thrift: 一种高效的、可扩展的跨语言服务开发框架。

    Memcached: 一个高性能的分布式内存对象缓存系统,用于加速动态Web应用程序。

    Http: 通过HTTP协议进行数据传输。

    第三层:服务发现(Discovery)与脚本(Scripting)层

    Discovery:负责集群节点发现,Zen 是 Elasticsearch 内置的默认发现机制,EC2 适配 AWS 环境,保障集群节点自动识别、组建集群。

    Scripting:支持多种脚本语言(mvel、js、python 等 ),允许在查询、更新等操作中嵌入自定义逻辑(如复杂评分、数据处理 )

    3rd Plugins :表明发现机制是可扩展的,可以通过插件实现自定义的发现策略(例如,基于 Consul, Kubernetes, GCE, Azure 等的发现插件)

    第四层: 核心功能模块

    Index Module:索引模块,负责索引的创建、删除、分片管理等,是数据写入 Elasticsearch 的基础流程。

    Search Module:搜索模块,实现查询解析、执行、结果聚合等,支撑复杂搜索需求(如全文检索、过滤、排序 )。

    Mapping:定义索引的 “数据结构 schema”,类似数据库表结构,指定字段类型(文本、数值等 )、分词规则等,保障数据正确存储与检索。

    River:早期用于 “河流” 功能(已逐步废弃 ),曾支持从外部数据源(如数据库、消息队列 )持续拉取数据到 Elasticsearch 。

    第五层:Distributed Lucene Directory

    Distributed Lucene Directory: 使用Lucene作为底层搜索引擎,并将其分布化,以支持大规模的数据存储和检索。

    底层:Gateway

    Local FileSystem: 使用本地文件系统作为数据存储,也是一般情况下使用最多的文件系统。

    Shared FileSystem: 使用共享文件系统,允许多个节点访问同一份数据。

    Hadoop HDFS: 集成Hadoop的分布式文件系统(HDFS),适用于大数据场景。

    Amazon S3: 支持将数据存储在Amazon S3云存储服务中。

    运维小路

    一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

    关注微信公众号《运维小路》获取更多内容。

    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
    红包 添加红包
    表情包 插入表情
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值