Quorum (分布式系统)

✍ dations ◷ 2025-04-26 12:45:25 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 乳房乳房(拉丁语:Mamma)位处于哺乳动物的胸部或腹部,左右成对出现。雌性的乳房包含乳腺等腺体,可分泌乳汁哺育幼儿。男性乳房一般不发育,但存有乳腺组织。在胚胎期雄性和雌性有相同的
  • 二氧化硫二氧化硫,(英语:sulphur dioxide , sulfur dioxide)化学式是SO2。是最常见的硫氧化物。无色气体,有强烈刺激性气味。大气主要污染物之一。火山爆发时会喷出该气体,在许多工业过程
  • 氟烷氟烷,IUPAC命名法命名为2-溴-2-氯-1,1,1-三氟乙烷(英语名:Halothane,英语商品名:Fluothane),分子式为C2HBrClF3,唯一一种含有溴原子的吸入性全身麻醉剂。它是一种无色的、有令人愉快
  • 埃里克·侯麦埃里克·侯麦 (法语:Éric Rohmer; 1920–2010)是法国电影导演、影评人、记者、作家、编剧与老师。他是战后法国新浪潮指标人物,曾是杂志《电影手册》的编辑。侯麦是法国新浪
  • UML统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件
  • 石器石器是以石头为原料制成的工具,是人类最早使用的生产工具。在考古学上,人类使用石器的时期称为石器时代。石器主要分为打制和磨制两大类。石器的制法和形状常常作为判断遗迹年
  • 王丽萍王丽萍可以指:
  • 惠水县惠水县是中国贵州省黔南布依族苗族自治州西部下属的一个县。明清为定番州,1913年改定番县,1935年改惠水县。惠水县下辖2个街道办事处、8个镇:涟江街道、濛江街道、好花红镇、摆
  • 越南南方民族解放阵线越南南方民族解放阵线(越南语:Mặt trận Dân tộc Giải phóng miền Nam Việt Nam/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Mi
  • 陈荒煤陈荒煤(1913年12月23日-1996年10月15日),原名陈光美,笔名泸生,男,湖北襄阳人,生于上海,中国作家、文艺评论家。陈荒煤,原名陈光美,是中国共产党主要始创人陈独秀的儿子,陈荒煤于1927年参