节点
控制节点
数据节点
协调节点
三者之间的联系:控制节点负责集群分片的分配和索引元信息的维护,数据节点负责存储数据,通过多副本协议实现数据高可用,协调节点负责客户端的接入,es是客户端通过rest http协议进行访问的,数据的读写就依靠协调节点进行处理了,可能一次数据访问需要多个分片一起参与。
索引
类比一个数据库
文档
类比一行记录
分片
一个索引包含多个文档,实际存储是一个索引包含多个分片支持分布式,并且分片有主分片和副分片的概念,通过类似Raft算法的PacificA算法实现多节点分布式一致性。一个分片就是一个lucene索引
读写流程
写流程:客户端 -> 协调节点 -> 确定写入的主分片 ->调用主分片所在节点 ->PacificA算法
读流程:确定分片后,轮询选择分片(可能读副分片)