欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

白话Elasticsearch57-数据建模之实现悲观锁并发控制的三种方式(未成功)

发布时间:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 白话Elasticsearch57-数据建模之实现悲观锁并发控制的三种方式(未成功) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 概述
  • 官网
  • 方式一:基于全局锁lock.global实现悲观锁并发控制 (未成功)
  • 方式二:基于document锁实现悲观锁并发控制(未成功)
  • 方式三:基于共享锁和排他锁实现悲观锁并发控制(未成功)


概述

继续跟中华石杉老师学习ES,第57篇

课程地址: https://www.roncoo.com/view/55


官网

2.X的版本 解决并发问题:戳这里


方式一:基于全局锁lock.global实现悲观锁并发控制 (未成功)

全局锁:最粗的一个粒度,锁这个索引。

ES版本 6.4.1

已经创建了filesystem索引

再创建全局锁

PUT /filesystem/lock/global/_create {}

报错:

{"error": {"root_cause": [{"type": "illegal_argument_exception","reason": "Rejecting mapping update to [filesystem] as the final mapping would have more than 1 type: [file, lock]"}],"type": "illegal_argument_exception","reason": "Rejecting mapping update to [filesystem] as the final mapping would have more than 1 type: [file, lock]"},"status": 400 }

虽然没成功,但是缺点还是显而易见的: 直接锁整个index,这个时候对index中所有的doc的操作,都会被block住,导致整个系统的并发能力很低。


方式二:基于document锁实现悲观锁并发控制(未成功)

先记录下,在6.4.1版本未成功


方式三:基于共享锁和排他锁实现悲观锁并发控制(未成功)

先记录下,在6.4.1版本未成功

总结

以上是生活随笔为你收集整理的白话Elasticsearch57-数据建模之实现悲观锁并发控制的三种方式(未成功)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。