赤壁之战中的CAP定理
Posted 孙晓凯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了赤壁之战中的CAP定理相关的知识,希望对你有一定的参考价值。
东汉末年的一天早上,洛阳的一个深宅大院戒备森严,不到八点,已经有十几位将领开着宝马表情严肃的进入府中。似乎有什么大事要发生。
这些将领来不及把车停到车位,就步履匆匆的进入后堂。虽然后堂聚集了十几个人,但是他们并没有相互交谈,而是直勾勾的盯着投影上的主题–“南下?”。似乎在等一位重要的人。
不一会儿,一位矮胖男子走了进来。此男子身高大概165cm,体重大约80公斤,长相猥琐,但是眼神异常的犀利。手里似乎还端着一碗什么东西。来不及坐下就对参会人员说道:“诸位来的挺早,待我先把这碗胡辣汤喝完再说如何?”。参会人员那敢推辞,都笑着说道:“曹总,吃饭要紧。”。此曹总正是三国时期北方最大的军事集团首领–曹操。
伴随着吸溜吸溜的声音戛然而止,曹操用袖子把嘴一擦,说道:“我今召集大家来的目的,想必大家也都知道。自从我们打败了袁绍,在北方已经没有谁是我们的对手了。所以这些年其实你我都很寂寞,如果一个军人不打仗,那还是正经的军人吗?有仗要打,我们打。没有仗要打,我们创造仗也要打。所以我决定南下,把刘备和孙权的地盘给收了。不知各位意下如何?接下来请各位畅所欲言”。
曹仁:“我早就想收拾他们了,老大,就等你一声令下了”。
曹操呵呵一笑,说道:“知己知彼 方能百战不殆。我得到消息说,目前孙刘已经结成联盟,并且为了他们传递消息的方便与可靠,他们还专门修建了一个什么东西。”
“老板 我研究过这个东西,此物名叫“分布式消息收发器””,说话的正是张辽。
众将领顿时大眼瞪小眼,嘴里嘟囔着,什么是分布式?什么是消息收发器?什么又是分布式消息收发器?想我戎马一生,怎么听都没听过?
姜还是老的辣,曹操虽然不懂,但是强装镇定。说道:“各位安静,请张将军为大家讲解一下”。
张辽继续说道:“此物是那诸葛亮设计并主持建造的,说着就在沙盘画起了图.”
诸位请看,此乃总体战略架构图。接下来我为大家解答一番,孙刘在我所标注的位置,大家都知道。此番孙刘结盟,需要共享情报。但是因为孙刘老巢路途遥远,中间还要经过长江,信使直接传递信息并不可靠。于是那诸葛村夫设计了一个分布式系统,正如图中A,B所示。比如刘备得到了消息,想把消息传递给孙权,刘备只需把消息传给B这个情报驿站,然后B会把情报同步给A,孙权只需要从A获取信息即可。
大将军于禁道:“这诸葛老儿为何要如此设计?以本将看来此物比直接快马传递消息要复杂许多。”
张辽道:“大将军所言极是,此物乍一看甚是复杂。其实说白了他就是一个驿站,用于转送消息用的。但是每个信息都会复制一份,每个驿站各存放一份。”
“那诸葛老儿总喜欢以理论作为支撑,此物可有相关理论?” 曹操说道。
张辽道:“老板英明,此物的理论根基乃是CAP定理”。
曹操道:“何为CAP定理?”
张辽道:“那诸葛老儿为了让别人看不懂此理论,故意把其弄的看似异常复杂。待我把其本质解释给各位。这CAP其实代表了三个名词:
C:代表的是一致性。也就是说A和B的信息是一样的。
A:代表的是可用性。也就是说A和B都能正常的收发信息。
P:代表的是分区容错性。这也是最不容易理解的一个名词,诸位将军请看沙盘,在A和B直接隔了一条长江,万一长江江水暴涨,无法行船,那么A和B就无法联系。分区容错就表示A和B无法通信的情况。
最为关键的是,经诸葛亮推演,此定理只能同时满足两种情况。
”
“欧?快快说来!” 曹操禁不住说道。
张辽道:“是 老板。
比如说如果要保证A和B的信息总是一样的,并且A和B的系统总是可以正常收发信息,那么A和B就必须得通信正常,不能发生分区的情况。也即满足CA,不能有P。
再比如,如果要保证A,B信息总是一样,并且允许有时候A和B发生通信异常。那么就没办法做到任意时刻A,B都能正常收发信息。因为一旦江水暴涨,A,B不能通信,此时A,B的信息必然会造成不一样,而有要求信息一样,只能是等到江水退去,信使把A,B信息同步程一样,再恢复A,B的正常收发信息的功能,也即只能满足CP。
最后一种情况,如果要求A,B一定可用,且允许江水暴涨无法通信的情况发生,那么在江水暴涨的时候就无法保证A,B的一致性。也即只能满足AP
”
“诸位猜下诸葛村夫使用的那种方式?” 曹操若有所思的问道
一个个面面相觑,无人作答。
曹操微微一笑说道:“那村夫一定使用的CA方案。在A,B以及长江上定有重兵把守,且有大船。即使江水暴涨也无甚影响。”
张辽道:“老板,实在是高!”
曹操从小被人取笑身高,狠狠的瞪了张辽一眼。
张辽慌忙说道:“老板英明,英明。因为战场实时性要求很高,所以诸葛老儿确实选择了此方案。但是平时他们选用的是AP方案,而撤出大量军队用于种田,即使江水暴涨,影响AB的一致性,等江水过后AB依然可以同步,这也叫做最终一致性”。
曹操哈哈一笑道:“花里胡哨!我八十万大军岂是他这一套小小的系统能够打败的? 无需理会此物,按照原计划直接攻打江东。”
第一次尝试用讲故事的方式写技术文章,希望各位朋友指出错误。
以上是关于赤壁之战中的CAP定理的主要内容,如果未能解决你的问题,请参考以下文章