在今天,集中式部署的系統基本已經越來越少了,越多越多的公司會選擇分布式部署機器。那么什么是分布式系統呢?分布式系統大致需要滿足下面特性:
圖片與文字無關
分布性
分布式系統中的多態機器會在空間上隨意分布,同事,機器的分布情況、機器的數量也會隨時變動。
舉個例子:阿里巴巴的某一個服務可以部署在杭州、上海、深圳的某些機器上,每一個機房的部署情況可以有運維人員配置。
對等性
分布式系統中每臺機器都是公平的,沒有主/備之分。
當然,副本是分布式系統中最常見的概念,副本跟備機是不同的概念,副本指的是分布式系統對數據與服務提供的冗余方式,當某一節點上面的數據丟失的時候,可以快速訪問到。
并發性
在一個分布式系統的多個節點中,經常會同時操作一些共享資源,如分布式存儲系統等,如何準確并高效處理冰法也是分布式系統架構與設計中最大的挑戰。
缺乏全局時鐘
一個分布式系統中,進程間的交互,線程間的交互在不停地發生,有著各式各樣的消息,在分布式系統中,很難定義兩個事件的先后順序,因為分布式系統缺乏一個全局時鐘。
Paste_Image.png
故障總會發生
在一個分布式系統中,故障時常發生,而且頻率遠比集中部署更高。所以在系統設計之時就要充分考慮更重故障。