在并发情况下,Elasticsearch 如何保证读写一致?

参考答案

在并发情况下,Elasticsearch 可以通过以下方式,来保证读写的一致。

1、通过版本号使用乐观并发控制

以确保新版本不会被旧版本覆盖,由应用层来处理具体的冲突;

2、对于写操作

一致性级别支持 quorum/one/all,默认为 quorum,即只有当大多数分片可用时才允许写操作。

但即使大多数可用,也可能存在因为网络等原因,导致写入副本失败,这样该副本被认为故障,分片将会在一个不同的节点上重建。

3、对于读操作

可以设置 replication 为 sync(默认),这使得操作在主分片和副本分片都完成后才会返回。

如果设置 replication 为 async 时,也可以通过设置搜索请求参数_preference 为 primary 来查询主分片,确保文档是最新版本。

 

以上,是 Elasticsearch 搜索面试题【在并发情况下,Elasticsearch 如果保证读写一致?】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧