天天看點

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

C++分布式實時應用架構——系統管理子產品

  上篇:

(二): 基于ZeroMQ的實時通訊平台

版權聲明:本文版權及所用技術歸屬smartguys團隊所有,對于抄襲,非經同意轉載等行為保留法律追究的權利!

  一個分布式實時系統叢集動辄上百台機器,叢集的規模已經限定這将是一個”封閉“的系統。你不可能再一台台去操作上百台機器,傳統的人工運維方式早已不能滿足當下需要,所有對叢集或者叢集中某個節點的操作都必需通過系統提供接口來完成。對于一個商用的分布式實時系統來說,如何應對突然出現的業務高峰;及時檢測出叢集中的故障節點并進行善後處理;對于叢集内處理能力不同的節點進行負載均衡調節;系統因過大壓力崩潰前進行過載保護;測試容器與營運容器同網測試的灰階釋出能力等等。這些都是系統管理子產品需要去解決的問題,也是一個系統能否商用,足夠智能的關鍵名額。

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

  系統管理子產品分為服務(SmartService)和管理(SmartManger)兩部分。SmartService基于RESTful的接口,來對外提供各類對叢集的查詢和操作接口,可以友善和各類管理終端(PC、iOS、Android)對接,實作界面管理。完善的架構還提供輕松的二次開發接口,友善定制系統專屬接口。如:調整日志級别、單号碼日志跟蹤、叢集配置管理、叢集實時拓撲資料查詢等等。幾百台機器的叢集,人工維護已不再現實,自動檢測和自主運維已成為關鍵,SmartManger的自動負載管理功能就是用來完成這部分功能的。另外,系統管理子產品是與狀态中心、通訊平台互相配合工作的,三者缺一不可。

  下面将詳細介紹各個特色功能:

一、自動負載管理

  根據業務容器節點為上報的時延、類型、流量等資訊,綜合叢集所有節點的資訊,判斷叢集目前是否存在如下情況,并根據情況做出相應的應對動作。

  1.  某個容器存在故障,不能正常處理業務——故障節點退網

  2.  某個容器處理能力不足,存在業務處理逾時情況——對節點流量控制

  3.  某類容器處理能力不足,這類容器存在業務處理逾時情況——對這類容器進行擴容器操作

  4.  某類容器處理能力富餘,這類容器的流量滿足縮容條件——對這類容器進行縮容操作

  5.  叢集處理能力已達極限,可能出現系統崩潰的狀況——對叢集進行過載保護

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

二、故障節點自動退網

  在業務節點遇到不可恢複的故障不再能正常處理業務,系統管理子產品将自動檢出,并将故障節點退出業務叢集,以保證叢集正常運作。

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

 三、節點流量控制

  當某個節點處理能力不足時,如這個節點在做日志跟蹤時,系統管理子產品可以根據節點處理能力減少發往該節點的消息數,做實時負載均衡。

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

四、動态擴縮容

  當某類型業務容器處理能力不夠時,系統可以自動進行線上擴容,擴容期間業務不受影響。當處理能力富餘時,系統也會自動進行線上縮容,以讓出資源給需要業務。

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

五、節點過載保護

  當整個叢集的處理能力已經達到極限時(不能再進行擴容操作),為了防止系統崩潰,可以根據業務的情況進行過載保護,如:對初始鑒權請求進行丢棄處理。

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

六、灰階釋出

  系統支援灰階釋出能力,可以讓測試點節和正常業務節點同網運作,将讓測試号碼路由到測試節點進行處理,而不影響其它正常的号碼。

(三):C++分布式實時應用架構——系統管理子產品 C++分布式實時應用架構——系統管理子產品

未完待續...

 技術交流合作QQ群:436466587 歡迎讨論交流

繼續閱讀