Quorum (分布式系统)

✍ dations ◷ 2025-11-17 01:34:06 #投票,算法

Quorum 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。

在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝。但是同一时刻一个数据对象的多份拷贝只能用于读或者用于写。

该算法可以保证同一份数据对象的多份拷贝不会被超过两个访问对象读写。

算法来源于。 分布式系统中的每一份数据拷贝对象都被赋予一票。每一个读操作获得的票数必须大于最小读票数(read quorum)(Vr),每个写操作获得的票数必须大于最小写票数(write quorum)(Vw)才能读或者写。如果系统有V票(意味着一个数据对象有V份冗余拷贝),那么最小读写票数(quorum)应满足如下限制:

第一条规则保证了一个数据不会被同时读写。当一个写操作请求过来的时候,它必须要获得Vw个冗余拷贝的许可。而剩下的数量是V-Vw 不够Vr,因此不能再有读请求过来了。同理,当读请求已经获得了Vr个冗余拷贝的许可时,写请求就无法获得许可了。

第二条规则保证了数据的串行化修改。一份数据的冗余拷贝不可能同时被两个写请求修改。

在分布式系统中,冗余数据是保证可靠性的手段,因此冗余数据的一致性维护就非常重要。一般而言,一个写操作必须要对所有的冗余数据都更新完成了,才能称为成功结束。比如一份数据在5台设备上有冗余,因为不知道读数据会落在哪一台设备上,那么一次写操作,必须5台设备都更新完成,写操作才能返回。

对于写操作比较频繁的系统,这个操作的瓶颈非常大。Quorum算法可以让写操作只要写完3台就返回。剩下的由系统内部缓慢同步完成。而读操作,则需要也至少读3台,才能保证至少可以读到一个最新的数据。

Quorum的读写最小票数可以用来做为系统在读、写性能方面的一个可调节参数。写票数Vw越大,则读票数Vr越小,这时候系统读的开销就小。反之则写的开销就小。

相关

  • 活性白土坡缕石(或坡缕缟石、凸凹棒石,分子式:Mg5Si20(OH2)(H2O)4·nH2O)是海泡石族的一种矿石,由蒙脱石转化而成,由含水的层链状镁质硅酸盐组成。其微观结构具有层、链、纤维状晶体结构
  • 伊拉克临时政府伊拉克临时政府(2003年9月-2004年5月称“伊拉克过渡政府” ,2004年6月-2005年5月称“伊拉克临时政府”,2005年5月又称“伊拉克过渡政府”)是指2003年3月20日美国对伊拉克开战,之后
  • 复层立方上皮复层立方上皮(英语:stratified cuboidal epithelium,拉丁语:Epithelium stratificatum cuboideum)为被覆上皮的一种。顾名思义,该种组织由多层立方形的细胞构成。复层立方上皮可见
  • 高山滑雪高山滑雪在1936年奥运会成为正式比赛项目。
  • 发泡胶盒发泡胶盒是一种容器,又被称为食物盒及饭盒等。因为性质隔热,所以有一定的保温功能,常用于盛载食物,例如午餐便当等。此胶盒在工厂由发泡胶胶粒加热注塑成型,尺寸可塑性高。在日常
  • 各国锂产量列表本列表列出各国锂年产量(2016年)。
  • 陈日皎陈日皎(越南语:Trần Nhật Hiệu/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H",
  • 雅克·拉比亚迪埃雅克-朱利安·侯托乌·德·拉比亚迪埃(Jacques-Julien Houtou de Labillardière,1755年-1834年)为法国自然学家。他描述了大量澳大利亚植物。
  • 魏金水魏金水(1906年5月26日-1992年8月11日),中国福建龙岩人,客家人,中华人民共和国官员。魏1928年参加当地农民协会,次年加入中国共产党,任红十九军团政委,后长期指挥龙岩地方武装。1934年
  • 延斯·朗格内克延斯·朗格内克(Jens Langeneke)是德国的一位足球运动员。在城市司职后卫。他现在效力于德甲球队杜塞尔多夫。