当前位置:网站首页>多主复制下处理写冲突(1)-同步与异步冲突检测及避免冲突
多主复制下处理写冲突(1)-同步与异步冲突检测及避免冲突
2022-08-02 03:37:00 【JavaEdge.】
多主复制最大问题:可能发生写冲突,必须解决之。
如两个用户同时编辑wiki,如图-7。用户1将页面标题从A-》B,且用户2同时将标题从A-》C。每个用户的更改都成功提交到本地主节点。但当异步复制到对方时,发现存在冲突。正常的主从复制则不会出现此问题。

3.2.1 同步与异步冲突检测
若为主从复制数据库,第二个写请求将:
- 被阻塞直到第一个写完成
- 或被中止,强制用户必须重试
多主节点的复制模型下,这两个写都是成功的,且只能在稍后时间点才能异步检测到冲突,那时再要求用户解决冲突为时已晚。
理论上能做到同步冲突检测,即等待写请求完成对所有副本的同步,再通知用户写成功。但这样会失去多主的优点:允许每个主节点独立接受写请求。所以,若确实需要同步冲突检测,应考虑使用单主节点的主从复制!
3.2.2 避免冲突
处理冲突的最理想策略:避免它们,若应用层能保证对特定记录的所有写请求都通过同一主节点,就不会冲突。实践中,由于很多主节点复制模型所实现的冲突解决方案很不好,因此直接避免冲突是推荐首选方案。
如用户需编辑自己的数据,可确保特定用户的请求始终路由到特定IDC,并使用该IDC的主节点读/写。不同用户可能对应不同主数据中心(如根据用户地理位置选择),但从用户角度看,这基本等价于主从复制模型。
但有时可能需更改事先指定的主节点,可能因为:
- IDC故障,需将流量重新路由到另一个IDC
- 或可能因为用户已漫游到另一个位置,接近了不同的IDC
此时,冲突避免方式不再有效,必须要有方案应对不同主节点同时写入的可能。
边栏推荐
- 空卡安装设置树莓派4B并安装opencv+QT
- Excel操作技巧大全
- 2022 开源软件安全状况报告:超 41% 的企业对开源安全没有足够的信心
- Deep Blue Academy - Visual SLAM Lecture Fourteen - Chapter 5 Homework
- 无主复制系统(2)-读写quorum
- ftp服务的部署和优化
- Reinforcement Learning (Chapter 16 of the Watermelon Book) Mind Map
- 多数据中心操作和检测并发写入
- Go的安装使用(一)
- Class ‘PHPWord_Writer_Word2003‘ not found
猜你喜欢
随机推荐
侦听器watch及其和计算属性、methods方法的总结
注意!软件供应链安全挑战持续升级
科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(下)
3D目标检测之数据集
树莓派4B开机自动挂载移动硬盘,以及遇到the root account is locked问题
详解CAN总线:什么是CAN总线?
深度学习基础之批量归一化(BN)
WIN10什么都没开内存占用率过高, WIN7单网卡设置双IP
MySQL5.7的安装编译及报错的解决方法
关于XDR的这些问题你都了解吗?
QT中更换OPENCV版本(3->4),以及一些宏定义的改变
Jetson Nano 2GB Developer Kit 安装说明
科研笔记(六) 基于环境感知的室内路径规划方法
全球主要国家地区数据(MySQL数据)
位居榜首 | 未来智安荣登CCIA「2022年中国网安产业潜力之星」榜单
Reinforcement Learning (Chapter 16 of the Watermelon Book) Mind Map
2022华为软件精英挑战赛(初赛)-总结
金融行业案例 | 未来智安XDR助力银行业客户优化安全运营体系,有效提高告警研判率
开箱即用的职场办公常用功能:全文检索、便签、云笔记
吴恩达机器学习系列课程笔记——第十八章:应用实例:图片文字识别(Application Example: Photo OCR)








