IceGrid總結

1. ZeroC IceGrid微服務架構

1.1 整體示意圖

1.2 特徵

1.2.1 服務註冊中心

IceGrid服務註冊採用XML文件來定義,其服務註冊中心就是Ice Registry,這是一個獨立的進程,並且提供了HA高可用機制;對應的服務發現機制就是命名查詢服務,即LocatorService提供的API,可以根據服務名查詢對應的服務實例可用地址。

1.2.2 獨立進程

IceGrid裏,一個IceBox就是一個單獨的進程,當一個IceBox只封裝一個Servant時,就是一個典型的微服務進程了。

1.2.3 負載均衡

在 IceGrid 裏是通過客戶端API內嵌的負載均衡算法實現的,相對於採用中間件Proxy轉發流量的方式,IceGrid的做法更加高效,但增加了平臺開發的工作量與難度,因爲採用各種語言的客戶端都需要實現一遍負載均衡的算法邏輯

1.2.4 應用部署

IceGrid提供了grid.xml 來描述與定義一個基於微服務架構的Application,一個命令行工具一鍵部署這個Application,還提供了發佈二進制程序的輔助工具——icepatch2。下圖顯示icepatch2的工作機制,icepatch2server類似於FTP Sever,用於存放要發佈到每個Node上的二進制代碼與配置文件,而位於每個Node上的icepatch2client則從icepatch2server上拉取文件,這個過程中採用了壓縮傳輸及差量傳輸等高級特性,以減少不必要的文件傳輸過程。客觀地評價,在Docker技術之前,icepatch2這套做法還是很先進與完備的,也大大減少了分佈式集羣下微服務系統的運維工作量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章