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

3.2.1 同步与异步冲突检测
若为主从复制数据库,第二个写请求将:
- 被阻塞直到第一个写完成
- 或被中止,强制用户必须重试
多主节点的复制模型下,这两个写都是成功的,且只能在稍后时间点才能异步检测到冲突,那时再要求用户解决冲突为时已晚。
理论上能做到同步冲突检测,即等待写请求完成对所有副本的同步,再通知用户写成功。但这样会失去多主的优点:允许每个主节点独立接受写请求。所以,若确实需要同步冲突检测,应考虑使用单主节点的主从复制!
3.2.2 避免冲突
处理冲突的最理想策略:避免它们,若应用层能保证对特定记录的所有写请求都通过同一主节点,就不会冲突。实践中,由于很多主节点复制模型所实现的冲突解决方案很不好,因此直接避免冲突是推荐首选方案。
如用户需编辑自己的数据,可确保特定用户的请求始终路由到特定IDC,并使用该IDC的主节点读/写。不同用户可能对应不同主数据中心(如根据用户地理位置选择),但从用户角度看,这基本等价于主从复制模型。
但有时可能需更改事先指定的主节点,可能因为:
- IDC故障,需将流量重新路由到另一个IDC
- 或可能因为用户已漫游到另一个位置,接近了不同的IDC
此时,冲突避免方式不再有效,必须要有方案应对不同主节点同时写入的可能。
边栏推荐
- C程序是如何跑起来的01 —— 普通可执行文件的构成
- 苹果官网样式调整 结账时产品图片“巨大化”
- 2020微信小程序反编译教程(小程序反编译源码能用吗)
- 上传图片-微信小程序(那些年的坑记录2022.4)
- Kubernetes principle analysis and practical application manual, too complete
- Small program: Matlab solves differential equations "recommended collection"
- gerrit中如何切换远程服务器
- 基于C语言的编译器设计与实现
- Stuck in sill idealTree buildDeps during npm installation, npm installation is slow, npm installation is stuck in one place
- js的toString方法
猜你喜欢

Premiere Pro 2022 for (pr 2022)v22.5.0

mysql black window ~ build database and build table

组合学笔记(六)局部有限偏序集的关联代数,Möbius反演公式

C语言-函数

Kubernetes principle analysis and practical application manual, too complete

C language "the third is" upgrade (mode selection + AI chess)

i.MX6ULL驱动开发 | 33 - NXP原厂网络设备驱动浅读(LAN8720 PHY)

你辛辛苦苦写的文章可能不是你的原创

MySQL基础篇【单行函数】

上传图片-微信小程序(那些年的坑记录2022.4)
随机推荐
入职一个月反思
Qt实战案例(54)——利用QPixmap设计图片透明度
百度网盘网页版加速播放(有可用的网站吗)
Unity 之 图集属性详解和代码示例 -- 拓展一键自动打包图集工具
Visualize GraphQL schemas with GraphiQL
上传图片-微信小程序(那些年的坑记录2022.4)
牛客网刷题(一)
Summary of the implementation method of string inversion "recommended collection"
第05章 存储引擎【1.MySQL架构篇】【MySQL高级】
深度学习机器学习理论及应用实战-必备知识点整理分享
组合学笔记(六)局部有限偏序集的关联代数,Möbius反演公式
Premiere Pro 2022 for (pr 2022)v22.5.0
The arm button controls the flashing of the led light (embedded button experiment report)
牛客 HJ17 坐标移动
Delete the disk in good condition (recovery partition)
智能垃圾桶(八)——红外对管传感器(树莓派pico)
Website vulnerability repair service provider's analysis of unauthorized vulnerability
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
在资源管理类中提供对原始资源的访问——条款15
Stuck in sill idealTree buildDeps during npm installation, npm installation is slow, npm installation is stuck in one place