概述
继续跟中华石杉老师学习ES,第57篇
课程地址: https://www.roncoo.com/view/55
官网
2.X的版本 解决并发问题:戳这里
方式一:基于全局锁lock.global实现悲观锁并发控制 (未成功)
全局锁:最粗的一个粒度,锁这个索引。
ES版本 6.4.1
已经创建了filesystem索引
再创建全局锁
代码语言:javascript复制PUT /filesystem/lock/global/_create
{}
报错:
代码语言:javascript复制{
"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版本未成功