当前位置:网站首页>无主复制系统(2)-读写quorum
无主复制系统(2)-读写quorum
2022-08-02 03:36:00 【JavaEdge.】
图-10中,三副本中若有两个以上完成处理,写即可认为成功。若三副本中只有一个完成写入,会怎样?到底几个副本完成才能认为写成功?
成功的写操作要求三副本中至少两个完成,即至多有一个副本可能包含旧值。因此,在读取时需至少向两个副本发起读请求,通过版本号可确定一定至少有一个包含新值。若第三个副本停机或响应慢,则读取仍可继续并返回最新值。
若有n副本,写入须w个节点确认,至少为每个读取查询r个节点。只要 w + r > n,我们期望在读取时获得最新值,因为r个读取中至少有一个节点最新。遵循这些r值,w值的读写称为法定人数(quorum)读和写。也可认为r和w是判定读、写是否有效的最低票数。
Dynamo风格的数据库中,参数n,w和r一般可配置。常见选择是n为奇数(3或5)并设置 w = r = ( n + 1 ) / 2 w = r =(n + 1)/ 2 w=r=(n+1)/2(向上取整)。但是可以根据需要更改数字。例如,设置 w = n w = n w=n和 r = 1 r = 1 r=1的写入很少且读取次数较多的工作负载可能会受益。这使得读取速度更快,但具有只有一个失败节点导致所有数据库写入失败的缺点。
集群中可能存在多于n的节点。(集群的机器数可能多于副本数目),但任何给定的值只能存储在n个节点上。这允许对数据集进行分区,从而可以支持比单个节点的存储能力更大的数据集。
仲裁条件 w + r > n w + r> n w+r>n定义了系统可容忍的失效节点个数:
- 如果 w < n w <n w<n,如果节点不可用,我们仍然可以处理写入。
- 如果 r < n r <n r<n,如果节点不可用,我们仍然可以处理读取。
- 对于 n = 3 , w = 2 , r = 2 n = 3,w = 2,r = 2 n=3,w=2,r=2,我们可以容忍一个不可用的节点。
- 对于 n = 5 , w = 3 , r = 3 n = 5,w = 3,r = 3 n=5,w=3,r=3,我们可以容忍两个不可用的节点。 这个案例如图5-11所示。
- 通常,读取和写入操作始终并行发送到所有n个副本。 参数w和r决定我们等待多少个节点,即在我们认为读或写成功之前,有多少个节点需要报告成功。
若少于所需的w或r节点可用,则写入或读取将返回错误。 节点不可用原因:因执行操作的错误(由于磁盘已满而无法写),因为节点关闭(崩溃,关闭电源),由于客户端和服务器节点之间的网络中断等。 只关心节点是否返回了成功响应,无需区分出错的具体原因。
边栏推荐
- 深蓝学院-视觉SLAM十四讲-第六章作业
- el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
- samba,nfs,iscsi网络文件系统
- Research Notes (8) Deep Learning and Its Application in WiFi Human Perception (Part 2)
- MySQL5.7的安装编译及报错的解决方法
- The CCF brush topic tour - the first topic
- Deep Blue Academy - Fourteen Lectures of Visual SLAM - Chapter 4 Homework
- flv文件结构解析
- arr的扩展方法、数组的遍历及其他方法
- 关于XDR的这些问题你都了解吗?
猜你喜欢
随机推荐
MapFi论文架构整理
科研笔记(七) 基于路径规划和WiFi指纹定位的多目的地室内导航
深蓝学院-视觉SLAM十四讲-第七章作业
JS事件循环机制
asyncawait和promise的区别
8款最佳实践,保护你的 IaC 安全!
QT中更换OPENCV版本(3->4),以及一些宏定义的改变
侦听器watch及其和计算属性、methods方法的总结
运行时应用自我保护(RASP):应用安全的自我修养
【学习笔记】如何打造运维组织架构
Autowired注解与Resource注解的区别
WIN10什么都没开内存占用率过高, WIN7单网卡设置双IP
深度学习基础之批量归一化(BN)
基于sysbench工具的压力测试---MyCat2.0+MySql架构
初识云原生安全:云时代的最佳保障
Deep Blue Academy - Fourteen Lectures of Visual SLAM - Chapter 4 Homework
Andrew Ng's Machine Learning Series Course Notes - Chapter 18: Application Example: Image Text Recognition (Application Example: Photo OCR)
使用Ansible编写playbook自动化安装php7.3.14
h264转hls
未来智安XDR及核心组件产品上榜《嘶吼2022网络安全产业图谱》