文章目录

  • 概述
  • 官网
  • 方式一:基于全局锁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-数据建模之实现悲观锁并发控制的三种方式(未成功)相关推荐

  1. 脏读、不可重复读 共享锁、悲观锁 和 事务五种隔离级别

    http://www.cnblogs.com/adforce/archive/2011/04/20/2021929.html 一.脏读.不可重复读.幻读 1.脏读:脏读就是指当一个事务正在访问数据,并 ...

  2. java细粒度锁_Java细粒度锁实现的3种方式

    最近在工作上碰见了一些高并发的场景需要加锁来保证业务逻辑的正确性,并且要求加锁后性能不能受到太大的影响.初步的想法是通过数据的时间戳,id等关键字来加锁,从而保证不同类型数据处理的并发性.而java自 ...

  3. Java实现分布式锁的三种方式

    文章目录 前言 一.基于数据库实现分布式锁 二.Redisson实现分布式锁 三.Zookeeper实现分布式锁 四.总结 前言 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问 ...

  4. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

  5. discard connection丢失数据_python kafka 生产者发送数据的三种方式

    python kafka 生产者发送数据的三种方式 发送方式 同步发送 发送数据耗时最长 有发送数据的状态,不会丢失数据,数据可靠性高 以同步的方式发送消息时,一条一条的发送,对每条消息返回的结果判断 ...

  6. 对象的notify方法的含义和对象锁释放的三种情况

    1,notify的含义     (1)notify一次只随机通知一个线程进行唤醒 (2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁, 要等到 ...

  7. 数据导入HBase最常用的三种方式及实践分析

    要使用Hadoop,数据合并至关重要,HBase应用甚广.一般而言,需要针对不同情景模式将现有的各种类型的数据库或数据文件中的数据转入至HBase中. 常见方式为:1.使用HBase的API中的Put ...

  8. SQL:使用备份向导、SQL命令、导出数据三种方式对已建立的数据库进行备份

    SQL:使用备份向导.SQL命令.导出数据三种方式对已建立的数据库进行备份 目录 题目要求 解题步骤 题目要求 使用备份向导备份数据库 "DEMO_4_2_2_1"到考生文件夹&q ...

  9. Docker的常用管理命令Docker将数据挂载到容器的三种方式

    文章目录 镜像管理命令 容器管理常用命令 docker run常用参数 Docker run的其他参数 docker 创建容器命令 容器资源限制 docker管理容器常用命令 docker将数据挂载到 ...

最新文章

  1. linux驱动之触摸屏驱动程序
  2. UA MATH571A 一元线性回归I 模型设定与估计
  3. c++ websocket客户端_你要的websocket都在这,收好不谢~~~
  4. Xshell连接阿里云服务器ECS
  5. hdu 1247 map
  6. Ansible管理命令
  7. 【Prescan学习】Prescan环境配置(介绍+安装+学习资源)
  8. 稀土铕配合物掺杂聚苯乙烯荧光微球/含铕配合物聚苯乙烯荧光微球/稀土磁性荧光微球制备
  9. 免校准的电量计量芯片_应物联网而生:合力为HLW8012系列免校准电能计量芯片-测试测量-与非网...
  10. html设置背景图片自动适应屏幕大小,css适应屏幕 CSS背景图片自适应屏幕大小
  11. 有刷直流电机和无刷直流电机有什么区别?
  12. 肺管家科普:引发肺气肿的原因竟然是这些...
  13. 教你30岁前挣够500万
  14. Python之Excel图片处理(将excel chart另存为图片)
  15. AW codec驱动跨平台移植
  16. 我与网管师职业认证的钦定缘分
  17. 关于自定义标签当中的unable to find setter method for attribute:xxx错误 小记
  18. 2021年中国中药饮片产业销售规模及重点企业对比分析[图]
  19. C语言 获取网页内容
  20. Northwood的怒吼——记老奔四安装黑苹果OS_X_10.4.11

热门文章

  1. java小程序连接数据库_Java程序连接各种数据库的方法
  2. 如何获取MDC产品文档
  3. python 字符串去除中文
  4. cacti监控java,Cacti for Oracle监控
  5. Tensorflow实现MNIST数据自编码(2)
  6. NTU 课程笔记 7454 GAN
  7. 【Linux】27_网站服务静态站点
  8. LeetCode-数学-9. 回文数
  9. 【LeetCode从零单排】No38.CountAndSay
  10. 【码农本色】用数据解读我的2014