开发者社区> 问答> 正文

阿里云 Elasticsearch 云原生内核的两大核心技术之一:内存物理复制,实现 replica

阿里云 Elasticsearch 云原生内核的两大核心技术之一:内存物理复制,实现 replica 的近实时访问是什么?

展开
收起
游客afijyf435noyu 2021-12-14 12:00:16 795 0
1 条回答
写回答
取消 提交回答
  • 核心技术之一:内存物理复制,实现 replica 的近实时访问 Segment 同步的实现细节

    image.png

    图中描述的是 ES 物理复制的状态机,核心是为了解决 segment 同步乱序的问题。通 用的物理复制功能也是一样的实现,主要区别在于计算存储分离只需要复制实时生成的 segment,对于后续产生的 segment,强制提交 commit,确保 segment 落盘,来防止 大的 segment 进行复制。而通用的物理复制,外界的 segment 也是需要复制的,这种 segment 往往会比较大。所以这里有一个关键的优化,为了防止大 segment 复制导致的 主从可见性差距过大,主 shard 在从 shard 复制完成后才会打开最新的 segment 下图介绍了物理复制保证数据一致性的方式。

    image.png

    核心是保证 checkpoint 的一致性,通过将主 shard 的 checkpoint 同步到从 shard 来实现。结合这张图可以看下流程,当数据写进来的时候,主 shard 会更新 checkpoint, 在第二步刷新 segment 时,第三步将 segment 复制到从 shard 时,会带上 checkpoint, 第四步从 shard 会用这个 checkpoint 更新自己的 local checkpoint 来保证主从 shard 使用了相同的 checkpoint,这样就实现了数据一致性的保证。

    资料来源于《开源与云Elasticsearch应用剖析》下载地址:https://developer.aliyun.com/topic/download?id=1169

    2021-12-14 12:12:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink 和 Elasticsearch 助力实时 OLAP 平台 立即下载
Elasticsearch 在企业协作服务中的应用实践 立即下载
基于 Elasticsearch 电商搜索 立即下载