(一):C++分布式實時應用框架----整體介紹


  C++分布式實時應用框架 (Cpp Distributed Real-time Application Framework)

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

 

  在現今軟件系統紛紛“雲化”的浪潮下,各種支持“雲化”的框架、工具層出不窮,但這些現成的工具大多基於JAVA,go等語言,且應用場景均為非實時系統。但基於C++語言,且支持毫秒級響應、大吞吐量的分布式實時應用框架一直是這一領域的空白,Cpp Distributed Real-time Application Framework(CDRAF)也因此應運而生。

   我們致力於將CDRAF打造成一款通用C++分布式實時系統框架,使之可以服務於任何一款對響應、吞吐量有高要求的業務系統——不管是游戲后台系統或者電信行業系統等等。用戶只要將原有業務代碼基於CDRAF做少許改動,就可以使用系統輕松地獲得所有"分布式實時系統"所具備的特性,如:

  • 大吞吐量、低時延、模式多樣、穩定可靠的通訊平台
  • 新節點啟動后自動注冊聯網,舊節點無需重啟
  • 計算節點根據業務量自動動態擴縮容
  • 單點故障不影響集群,故障節點自動檢測,自動退網
  • 節點實時性能統計數據,自動上報
  • 自動負載均衡,不同節點根據自身處理能力自動進行負載
  • 過載保護,預防系統因流量過大而發生阻塞甚至引發宕機
  • 優雅啟停,雙通道消息線路保證啟停過程中不丟消息
  • 灰度發布,支持測試節點與正常業務節點同網測試
  • 提供集群節點管理Restful接口,方便用戶做節點管理的二次開發

  CDRSF核心由三個部分構成,分別是:通訊平台、狀態中心、系統管理。如下圖所示:

  

 

通訊平台:

➢    具備低時延(毫秒級)、高吞吐量(200000pps/s級)的通訊能力

➢    提供多樣化通訊方式(點對點、廣播、分發、單雙通道等)滿足各種業務需求

➢    完全配置式的節點通訊關系,通訊與業務程序完全解耦

➢    實時性性能統計輸出,實時應用程序監控管理

狀態中心:

➢    提供新節點自動發現聯網運行,故障節點自動檢測退網的能力

➢    各業務節點主動上報詳細的運行狀態數據,實時監控全網節點運行信息

➢    具備向各業務節點下發管理命令能力

➢    注冊、觸發機制保證所有命令、數據即刻到達

系統管理:

➢    實現系統的自主管理及外部對系統的管理

➢    自主管理提供了動態擴縮容、節點過載保護、故障節點重啟等能力

➢    外部管理通過RESTful接口,提供了外部對系統進行各種操作的能力

(如:優雅關停節點、開關日志、單號碼日志跟蹤、容器測試等等)

 

整體系統架構圖:

 

 

  通訊平台負責所有業務進程的通訊,包括進程間和節點間的通訊。SmartMonitor還可實時監控業務進程的心跳健康狀況,實時統計性能數據。SmartAgent實時上報每個節點的各種數據到狀態中心,並接受狀態中心下達的命令。SmartService根據系統運行狀況,對整個集群進程管理,同時也接受來自外部的命令,對系統進程各種操作。

 

下一篇:(二): 基於ZeroMQ的實時通訊平台

 

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM