????Paxos帕克索斯算法是解決分布式一致性問(wèn)題的算法魁莉。
????說(shuō)起Paxos首先得了解什么是分布式睬涧,分布式是多臺(tái)機(jī)器組合、協(xié)同處理業(yè)務(wù)的系統(tǒng)架構(gòu)旗唁。
????與之對(duì)立的是集中式畦浓,集中式系統(tǒng)指的是一臺(tái)或多臺(tái)計(jì)算機(jī)組成的中心節(jié)點(diǎn),所有的存儲(chǔ)逆皮、部署宅粥、業(yè)務(wù)處理都集中在中心節(jié)點(diǎn)上。其特點(diǎn)是:部署結(jié)構(gòu)簡(jiǎn)單电谣,無(wú)需考慮分布式處理中網(wǎng)絡(luò)通信秽梅、協(xié)作的問(wèn)題;缺點(diǎn)是:擴(kuò)展性差剿牺、性能卓越的機(jī)器成本高企垦、單點(diǎn)問(wèn)題等。
? ? 分布式系統(tǒng)的優(yōu)點(diǎn)是:理論上的無(wú)限擴(kuò)展性(分布性)晒来、廉價(jià)的pc機(jī)集群钞诡、高可用、負(fù)載均衡等等湃崩。由集中式過(guò)渡到分布式荧降,需要解決的問(wèn)題也很多,比如:網(wǎng)絡(luò)所帶來(lái)的通信異常攒读、節(jié)點(diǎn)之間的網(wǎng)絡(luò)分區(qū)朵诫、節(jié)點(diǎn)故障、三態(tài)等薄扁。
????與此同時(shí)分布式事務(wù)也遇到了很多挑戰(zhàn)剪返;我們知道事務(wù)的四個(gè)特征ACID,分別代表:原子性邓梅、一致性脱盲、隔離性、持久性日缨;隔離性分為四個(gè)級(jí)別:讀未提交钱反、授權(quán)讀取(讀已提交)、可重復(fù)讀面哥、串行化乙各。為了解決一系列,隨之而來(lái)出現(xiàn)了CAP定理(一致性幢竹、可用性、分區(qū)容錯(cuò)性只能滿足其二)恩静。BASE理論(基本可用焕毫、軟狀態(tài)、最終一致性)驶乾,BASE理論的核心是即使無(wú)法做到強(qiáng)一致性邑飒,也要做到最終一致性。
????為了解決一致性問(wèn)題级乐,最著名的就是2PC疙咸、3PC、Paxos算法了风科。
????2PC二階段提交撒轮,分別為提交事務(wù)請(qǐng)求階段和執(zhí)行事務(wù)請(qǐng)求階段,其中由協(xié)調(diào)者和參與者兩種角色完成贼穆。其特點(diǎn)是:保證了事務(wù)的原子性题山,原理簡(jiǎn)單,容易實(shí)現(xiàn)故痊。缺點(diǎn)是:事務(wù)同步阻塞顶瞳、單點(diǎn)問(wèn)題、腦裂愕秫、太過(guò)保守慨菱。
????3PC三階段提交,是2PC的升級(jí)戴甩,將提交事務(wù)請(qǐng)求階段劃分為兩個(gè)階段canCommit和preCommit符喝。解決了二階段提交的事務(wù)同步堵塞,將同步堵塞范圍縮械瓤帧洲劣;解決單點(diǎn)問(wèn)題。缺點(diǎn)是:preCommit階段協(xié)調(diào)者提出后课蔬,節(jié)點(diǎn)分區(qū)和協(xié)調(diào)者出現(xiàn)網(wǎng)絡(luò)異常囱稽,參與者仍然會(huì)提交事務(wù)導(dǎo)致不一致性,通信次數(shù)也增加了二跋。
????Paxos算法引入了"過(guò)半"原則即少數(shù)服從多數(shù)战惊,支出分布式角色輪換,解決腦裂扎即、單點(diǎn)吞获、無(wú)線等待問(wèn)題况凉,是目前最優(yōu)秀的分布式算法之一。
===============================================
? ? 未完待續(xù)各拷,下一章深入理解Paxos算法......