1.分布式系統的應該有兩種基本的層次的架構。
1.1.普通的分布式系統架構,是典型的三層的架構,如的分離的分布式系統的一個子系統。
1.2.多個分布式系統構成的分布式系統的超級,可以構建雲端服務的分布式系統。
2.普通的分布式系統的構成
2.1簡單分布式的組合構成的服務系統
一般的分布式系統都具有三層架構層次,hand,master,svr。master儲存路由表,hand為接入,svr為真正的邏輯伺服器。可以對master的路由表操作實現分布。master動態探測svr的存活,進行路由表的更新。
如果單純的邏輯伺服器(不帶cache),這裡的路由表的更新較為方便和簡潔。如果是帶有cache 的邏輯伺服器則需要根據是髒cache還是乾淨cache,並遷移cache 的資料。由於在遷移過程中一般會對服務有影響,如果是髒cache,則需要等到遷移完成才能進行服務,這裡就有個格子鎖定的狀態。因此對於具有髒cache 的服務分布式系統,複雜程度大了很多。並且在遷移的時候會影響到服務。
圖一 各個分布式的簡單組合構成的服務系統典型架構
中有些系統沒有hand模組是因為其master可能只需要管理其路由表。而路由表的拉取直接放在上一層的邏輯伺服器。其接入機是鏡像的接入。這種邏輯服務系統一般只能較小規模的業務接入和應用。原有有以下幾點:
2.1.1.各個自己系統的具有自己的簡單容災機制,但是沒有總體的容災機制,
2.1.2.所有的接入是鏡像的,則其配置都是一樣的,如果這個系統承載多個服務,則無法輕鬆對其近區別服務,遷移和管理。即一個系統一旦搭建也運行,則很難對業務應用的服務進行控制,控制的粒度則一個系統層級。
2.1.3.其承載的業務愈多,則風險係數陡增。其接入伺服器的bug會 導致所有服務的中斷,其後端的邏輯伺服器的bug會導致其一個系統的癱瘓。其業務的灰階升級無法做到真正意義上的灰階。因為其子系統沒有業務管理的功能。無論灰階那一台機器,其影響都是系統的所有業務,一旦出現bug,將會對所有的業務產生影響。無法做到業務和機器的灰階,只能做到機器這個低層級的灰階。
因此這種分布式的簡單組合無法承載較大業務的運行,只有將一定數量的業務放在一個系統,這樣風險或許可承受,但是如果系統有所發展,接入的業務和應用越來越多,將會維護這樣若干的系統。造成營運上的麻煩和低效率。
3. 可維護的分布式系統
3.1 下面介紹可維護的分布式系統的構成和基本設計思想。目標就是要構建支援大規模業務應用的儲存分布式儲存系統。
既然是儲存系統,那麼就會容納許多業務,這個系統才有意義。當前的能夠容納很多業務的成熟概念就是雲的概念,沒錯,我麼就是要構建這樣一個具有雲系統概念的分布式儲存系統。
其基本目標就是要能夠輕鬆的做到對不同業務的管理和維護,調度。在大規模的業務的情境下,能夠很好的支撐和運營。
下面是其基本的架構思想。
3.2 基本設計思想:
3.2.1 整個系統由統一的接入,統一的控制中心組成,後端的邏輯分布式子系統組成
3.2.2 整個系統的master都具有容災,路由和按照一個中心master的指令來進行操作的功能,即中心master具有管理的功能,能夠對業務進行控制和管理,然後根據策略中心產生的策略對整個系統進行均衡,遷移和管理操作。
3.2.3 支援大規模的業務接入,提高系統的安全性。如果某一個業務有故障,中心master可以根據一定的策略將其布置在單獨的機器行,並且將其他業務部署在其他機器上,實現業務的快速隔離。
3.2.4 其對業務層級和機器層級,模組層級別的灰階將表現非常優秀。中心master可以部署某個業務的某些訪問在灰階的機器上。灰階的控制非常靈活和到位。
4.總結
具有可維護的分布式系統需要一個統一的控制中心。即cmaster(中心控制器)。可以對業務進行很好的調度和控制,所有的master
都應該具有這樣的功能,具有調度和控制的功能。這樣的系統才具有雲端服務系統的基礎。