当前位置:网站首页>无主复制系统(2)-读写quorum
无主复制系统(2)-读写quorum
2022-07-31 16:31:00 【华为云】
图-10中,三副本中若有两个以上完成处理,写即可认为成功。若三副本中只有一个完成写入,会怎样?到底几个副本完成才能认为写成功?
成功的写操作要求三副本中至少两个完成,即至多有一个副本可能包含旧值。因此,在读取时需至少向两个副本发起读请求,通过版本号可确定一定至少有一个包含新值。若第三个副本停机或响应慢,则读取仍可继续并返回最新值。
若有n副本,写入须w个节点确认,至少为每个读取查询r个节点。只要 w + r > n,我们期望在读取时获得最新值,因为r个读取中至少有一个节点最新。遵循这些r值,w值的读写称为法定人数(quorum)读和写。也可认为r和w是判定读、写是否有效的最低票数。
Dynamo风格的数据库中,参数n,w和r一般可配置。常见选择是n为奇数(3或5)并设置 (向上取整)。但是可以根据需要更改数字。例如,设置和的写入很少且读取次数较多的工作负载可能会受益。这使得读取速度更快,但具有只有一个失败节点导致所有数据库写入失败的缺点。
集群中可能存在多于n的节点。(集群的机器数可能多于副本数目),但任何给定的值只能存储在n个节点上。这允许对数据集进行分区,从而可以支持比单个节点的存储能力更大的数据集。
仲裁条件定义了系统可容忍的失效节点个数:
- 如果,如果节点不可用,我们仍然可以处理写入。
- 如果,如果节点不可用,我们仍然可以处理读取。
- 对于,我们可以容忍一个不可用的节点。
- 对于,我们可以容忍两个不可用的节点。 这个案例如图5-11所示。
- 通常,读取和写入操作始终并行发送到所有n个副本。 参数w和r决定我们等待多少个节点,即在我们认为读或写成功之前,有多少个节点需要报告成功。
若少于所需的w或r节点可用,则写入或读取将返回错误。 节点不可用原因:因执行操作的错误(由于磁盘已满而无法写),因为节点关闭(崩溃,关闭电源),由于客户端和服务器节点之间的网络中断等。 只关心节点是否返回了成功响应,无需区分出错的具体原因。
边栏推荐
- Applicable Scenarios of Multi-Master Replication (1) - Multi-IDC
- 多主复制的适用场景(2)-需离线操作的客户端和协作编辑
- 【7.29】代码源 - 【排列】【石子游戏 II】【Cow and Snacks】【最小生成数】【数列】
- Summary of the implementation method of string inversion "recommended collection"
- type of timer
- Qt实战案例(54)——利用QPixmap设计图片透明度
- Delete the disk in good condition (recovery partition)
- 动态规划之线性dp(上)
- Flutter 获取状态栏statusbar的高度
- 牛客网刷题(一)
猜你喜欢
Design and Implementation of Compiler Based on C Language
Browser's built-in color picker
adb shell error error: device unauthorized
t-sne 数据可视化网络中的部分参数+
[pytorch] 1.7 pytorch and numpy, tensor and array conversion
[TypeScript]OOP
研发过程中的文档管理与工具
上传图片-微信小程序(那些年的坑记录2022.4)
【C语言】LeetCode27.移除元素
阿里三面:MQ 消息丢失、重复、积压问题,如何解决?
随机推荐
2.索引及调优篇【mysql高级】
form 表单提交后,使页面不跳转[通俗易懂]
How does automated testing create business value?
.NET 20周年专访 - 张善友:.NET 技术是如何赋能并改变世界的
tensorflow2.0 cnn(layerwise)
Website vulnerability repair service provider's analysis of unauthorized vulnerability
ansible学习笔记02
在资源管理类中提供对原始资源的访问——条款15
Qt实战案例(54)——利用QPixmap设计图片透明度
tooltips使用教程(鼠标悬停时显示提示)
flutter设置statusbar状态栏的背景颜色和 APP(AppBar)内部颜色一致方法。
go图书管理系统
[Meetup Preview] OpenMLDB+OneFlow: Link feature engineering to model training to accelerate machine learning model development
How C programs run 01 - the composition of ordinary executable files
Premiere Pro 2022 for (pr 2022)v22.5.0
【网络通信三】研华网关Modbus服务设置
Handling write conflicts under multi-master replication (4) - multi-master replication topology
Premiere Pro 2022 for (pr 2022)v22.5.0
牛客 HJ18 识别有效的IP地址和掩码并进行分类统计
最新神作!阿里巴巴刚出炉的面试参考指南(泰山版),我直接狂刷29天