一個分佈式實時系統集羣動輒上百臺機器,集羣的規模已經限定這將是一個」封閉「的系統。你不可能再一臺臺去操做上百臺機器,傳統的人工運維方式早已不能知足當下須要,全部對集羣或者集羣中某個節點的操做都必需經過系統提供接口來完成。對於一個商用的分佈式實時系統來講,如何應對忽然出現的業務高峯;及時檢測出集羣中的故障節點並進行善後處理;對於集羣內處理能力不一樣的節點進行負載均衡調節;系統因過大壓力崩潰前進行過載保護;測試容器與運營容器同網測試的灰度發佈能力等等。這些都是系統管理模塊須要去解決的問題,也是一個系統可否商用,足夠智能的關鍵指標。負載均衡
系統管理模塊分爲服務(SmartService)和管理(SmartManger)兩部分。SmartService基於RESTful的接口,來對外提供各種對集羣的查詢和操做接口,能夠方便和各種管理終端(PC、iOS、Android)對接,實現界面管理。完善的框架還提供輕鬆的二次開發接口,方便定製系統專屬接口。如:調整日誌級別、單號碼日誌跟蹤、集羣配置管理、集羣實時拓撲數據查詢等等。幾百臺機器的集羣,人工維護已再也不現實,自動檢測和自主運維已成爲關鍵,SmartManger的自動負載管理功能就是用來完成這部分功能的。另外,系統管理模塊是與狀態中心、通信平臺相互配合工做的,三者缺一不可。框架
下面將詳細介紹各個特點功能:運維
根據業務容器節點爲上報的時延、類型、流量等信息,綜合集羣全部節點的信息,判斷集羣目前是否存在以下狀況,並根據狀況作出相應的應對動做。分佈式
1. 某個容器存在故障,不能正常處理業務——故障節點退網測試
2. 某個容器處理能力不足,存在業務處理超時狀況——對節點流量控制3d
3. 某類容器處理能力不足,這類容器存在業務處理超時狀況——對這類容器進行擴容器操做日誌
4. 某類容器處理能力富餘,這類容器的流量知足縮容條件——對這類容器進行縮容操做blog
5. 集羣處理能力已達極限,可能出現系統崩潰的情況——對集羣進行過載保護接口
在業務節點遇到不可恢復的故障再也不能正常處理業務,系統管理模塊將自動檢出,並將故障節點退出業務集羣,以保證集羣正常運行。資源
當某個節點處理能力不足時,如這個節點在作日誌跟蹤時,系統管理模塊能夠根據節點處理能力減小發往該節點的消息數,作實時負載均衡。
當某類型業務容器處理能力不夠時,系統能夠自動進行在線擴容,擴容期間業務不受影響。當處理能力富餘時,系統也會自動進行在線縮容,以讓出資源給須要業務。
當整個集羣的處理能力已經達到極限時(不能再進行擴容操做),爲了防止系統崩潰,能夠根據業務的狀況進行過載保護,如:對初始鑑權請求進行丟棄處理。
系統支持灰度發佈能力,可讓測試點節和正常業務節點同網運行,將讓測試號碼路由到測試節點進行處理,而不影響其它正常的號碼。