### 并发控制
- 悲观并发控制(假设有冲突的可能,会对资源加锁,比如数据库行锁)
- 乐观并发控制(假设没冲突,不会阻塞,如果数据在读写中被修改,操作将会失败)(es采用乐观)
### ES的乐观并发控制
- ES中文档是不可变的。更新文档会将旧文档标记删除,同时增加一个全新文档,version字段加1
-内部版本控制(es作为主要数据存储)
'''
if_seq_no + if_ primary_term
'''
- 外部版本控制(使用其他数据库作为主要数据存储,es导入数据作搜索)
'''
version + version_type=external
'''
- 以上参数作为url参数传入,可控制写入操作,如果数据在读写中被修改,操作将会失败