从另一个角度理解分布式系统与CAP定理
從另一個角度理解分布式系統與CAP定理
參考:性能之殤(七)-- 分布式計算、超級計算機與神經網絡共同的瓶頸
分布式計算的本質
分布式系統的產生,來源于源于人們日益增長的性能需求與落后的x86架構之間的矛盾。
 人們想辦法利用網絡和一大票便宜的PC機,通過一頓猛如虎的數學操作,來自己構建一個宏觀上更強性能、更高負載能力的計算機,去替換掉昂貴的小型機、大型機。
單體服務器 VS 分布式計算:系統規模問題
分布式系統的設計,擺脫了單機昂貴的x86服務器,但沒有擺脫馮諾依曼結構。原有的單機瓶頸,在分布式系統中仍然會存在。具體來看,
- 單體的計算機使用總線通信,總線成為數據傳輸速率的瓶頸。
- 基于網絡的分布式計算,其本質是把網絡當做總線,仍然不能擺脫節點間通信和協調時的數據傳輸瓶頸。 - 每一臺機器相當于一個運算器加一個存儲器
- master 節點就是控制器加輸入輸出設備
 
分布式計算的瓶頸
無論主從還是主備,整個系統的流量最終還是要落到一個特定的資源上。當然這個資源可能是多臺機器,但是依舊無法解決一個嚴重的問題:系統規模越大,其本底性能損失就越大。因為要涉及到節點之間的通信和協調,要想讓數百萬節點一起運算,傳遞命令和數據的工作占據了絕大多數的運行時間。
 分布式系統的性能問題可能表現為很多方面,但歸根到底,是人們日益增長的性能需求和數據一致性之間的矛盾。一旦需要強數據一致性(Consistency),那就必然存在一個限制性能的瓶頸,這個瓶頸就是信息傳遞的速度(Availability)。
那么,信息傳遞速度的瓶頸在哪里呢?
所以說,當應用規模由單體拓展到分布式系統的時候,數據密集型應用設計的基本矛盾已經由“人們日益增長的性能需求與落后的x86架構之間的矛盾”轉化成“人們日益增長的性能需求和數據一致性之間的矛盾”了。
但(就像CAP定理所說)新的矛盾是無解的。為什么說它是無解的呢?個人認為,信息傳遞的瓶頸最表層是人類的硬件制造水平決定的,再往底層去是馮·諾依曼架構決定的,再往底層去是圖靈機的邏輯模型決定的。可是圖靈機是計算機可行的理論基礎呀,所以,還是怪這個熵增宇宙吧,既然我們這個宇宙是一個熵增宇宙,那么這個問題就無法解決。為什么規模越大維護成本越高呢,你也是個成熟的宇宙了,該學會自己把自己變成熵減宇宙了(狗頭)。
總結
以上是生活随笔為你收集整理的从另一个角度理解分布式系统与CAP定理的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Flink 能够改写成 FlinkSQL
- 下一篇: 思考:固态硬盘的普及,是否影响到了存储引
