1. ES内核的架构
2. 不同包的功能
bootstrap:启动入口
action:action模块负责分布式读、写
Client:请求的抽象模块,分开管理请求client、节点请求client等
Cluster:集群管理模块,包括集群元数据、集群更新等
Discovery:服务发现模块,包括master选举、服务探测、服务发现等
Gateway:网关模块,用于数据恢复
Http:http网络通信模块,http请求转换
Index:索引模块,负责底层数据写入,建索引等
Indices:索引管理模块,对索引的CRUD
Monitor:监控模块
Node:节点抽象模块
Plugin:ES扩展模块,我们可以扩展ES的功能,通过实现对应的plugin逻辑。
Rest:Rest请求模块,负责Rest请求转换
Script:脚步支持模块,ES支持脚步更新、查询
Search:搜索模块,负责调用底层lucene的搜索服务。
Snapshot:快照模块,负责快照备份恢复
ThreadPool:线程池模块,负责管理线程,ES内部大量使用线程
Transport:底层传输层模块,封装了网络框架netty,网络通信全部调用transport层的服务。
Tribe:多集群聚合模块,负责多个集群的读、写