跨平台C++通用分布式服務器框架


分布式服務器框架

框架簡介

  • 此框架由三種服務器組成:

    • n個連接服務器:負責處理客戶端的網絡鏈接,並轉發客戶端和邏輯服務器之間的消息。
    • n個邏輯服務器:負責處理(由鏈接服務器轉發過來的)客戶端的網絡消息
    • 1個全局服務器:負責處理全局邏輯
    • 其實還額外需要一個神器:etcd,作為服務器框架中的邏輯服務器感知鏈接服務器的新增和失效
    • 無論拓撲圖請參考架構圖:
      結構
  • 框架內置組件:

    • 多連接ssdb客戶端
    • redis/ssdb代理服務器
    • 僅支持C++語言的RPC(支持protobuf類型消息,適合服務器之間業務開發,並支持異步回調)

既定規則(建議)

  • 客戶端擁有最多兩個邏輯服務器:分別是Primay和Slave
  • 當客戶端鏈接某鏈接服務器會(自動)分配一個Primary類型的邏輯服務器(且不會、也不能重設)
  • 客戶端的消息優先(轉到到)Slave處理
  • 邏輯服務器可自由設置客戶端的當前Slave
  • 當然,客戶端的Primay和Slave可以為同一個邏輯服務器
  • 實際項目中,您可以借助第三方負載均衡服務器來分配鏈接服務器的地址給客戶端.
  • 內置有ssdb客戶端和ssdb代理服務器,如果你的應用需要數據庫,不妨一試。

使用方式

  • 開發應用時,只需要關注客戶端邏輯服務器之間的消息設定,不需要考慮鏈接服務器,且沒有任何(需要引入的)預設消息。
  • 開發應用時,只需要分別實現邏輯服務器中的initLogicServerExt函數 和 (可選)全局服務器中的initCenterServerExt函數 (通常進行消息handle注冊即可)。
  • 作為示例


免責聲明!

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



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