Elasticsearch版本控制理解

目录

背景

具体使用说明


背景

Elasticsearch 是分布式的。当文档创建、更新或删除时, 新版本的文档必须复制到集群中的其他节点。Elasticsearch 也是异步和并发的,这意味着这些复制请求被并行发送,并且到达目的地时也许 顺序是乱的 。 Elasticsearch 提供了版本 _version 功能,实际上和大多数并发场景处理一样,版本号属于乐观锁的应用范畴

当我们 index , GET 和 delete 请求时,我们指出每个文档都有一个 _version (版本)号,当文档被修改时版本号递增。 Elasticsearch 使用这个 _version 号来确保变更以正确顺序得到执行。如果旧版本的文档在新版本之后到达,它可以被忽略,防止乱序问题带来的覆盖

最佳实践

Elasticsearch 版本类型分为:内部版本 和 外部版本

内部版本号上面介绍的是Elasticsearch的,每次都会_version自动加1。

外部版本号的处理方式和内部版本号的处理方式有些不同,是通过业务方指定传入的版本号, Elasticsearch 会检查当前 _version 是否 小于 指定传入的版本号,如果小于,则更新成功,否则更新失败。

 

在写入索引的时间,ES提供了指定的版本类型和可以传入的版本号

IndexRequest request 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值