☰
ES知识点整理
2026/10/1 14:18:48 网站建设 项目流程

一、es整体架构有四个概念
节点:相当于你一个图书馆大楼
索引:一个图书馆的一个分类区
分片:一个分类区的一个书架
段:一个书架的一层书(每一层书都有自己的目录卡片,倒排索引,书一旦摆上,就不能再插入中间,隔断时间会把零散的基层合并整理到一层就是所说的merge)

refresh: 将数据写入内存,可搜索到,但是没有落盘 refresh默认1s
flush:数据落磁盘,同时删除log文件(容灾,防止机器故障,重启后可恢复)log文件大于某个值,或者距离上次flush时间超过N分钟,或者手动调用flush触发。
merge:整理segment,将小或少的segment整理成大的segment

二、并发

写入并发
同一个shard的写入操作是串行的,单线程,保证数据一致性,省去复杂的锁竞争
不同shard之间完全并行写入,分片越多,写入吞吐越高的原因
主分片写入成功,并行同步到所有副本分片

读取并发
查询请求到协调节点后,会路由到对应分片的主分片或任意一个副本分片
副本越多,读吞吐量越高,但是写入成本也越高

近实时特性
数据写入后默认1秒才能被搜索到(refresh间隔)
不是严格实时,而是近实时

并发安全-乐观锁
使用版本号实现乐观并发控制(典型的CAS机制,没有锁,性能好)

三、架构
采用master(主备)+ dataNode(shard副本集) + 均衡Node方式

flush触发条件
log大小达到阈值
距离上次flush超过30分钟
手动调用
节点关闭

水平扩展
新增节点,自动触发再平衡策略,把已有节点上的分片迁移一部分到新节点,让整个集群分片分布均匀,整个过程自动完成,无需人工干预。单分片大小控制在20G-50G最佳。

四、性能

ES写入快
不用等落盘,直接写内存,refresh为1秒
多分片并行写,水平扩展好

ES查询快
多副本分担
倒排索引

性能
写入 qps:12万,rt:2.5ms
读取 qps:14万,rt:4ms


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询