zoukankan      html  css  js  c++  java
  • 跨平台C++通用分布式服务器框架

    分布式服务器框架

    框架简介

    • 此框架由三种服务器组成:

      • n个连接服务器:负责处理客户端的网络链接,并转发客户端和逻辑服务器之间的消息。
      • n个逻辑服务器:负责处理(由链接服务器转发过来的)客户端的网络消息
      • 1个全局服务器:负责处理全局逻辑
      • 其实还额外需要一个神器:etcd,作为服务器框架中的逻辑服务器感知链接服务器的新增和失效
      • 无论拓扑图请参考架构图:
        结构
    • 框架内置组件:

      • 多连接ssdb客户端
      • redis/ssdb代理服务器
      • 仅支持C++语言的RPC(支持protobuf类型消息,适合服务器之间业务开发,并支持异步回调)

    既定规则(建议)

    • 客户端拥有最多两个逻辑服务器:分别是Primay和Slave
    • 当客户端链接某链接服务器会(自动)分配一个Primary类型的逻辑服务器(且不会、也不能重设)
    • 客户端的消息优先(转到到)Slave处理
    • 逻辑服务器可自由设置客户端的当前Slave
    • 当然,客户端的Primay和Slave可以为同一个逻辑服务器
    • 实际项目中,您可以借助第三方负载均衡服务器来分配链接服务器的地址给客户端.
    • 内置有ssdb客户端和ssdb代理服务器,如果你的应用需要数据库,不妨一试。

    使用方式

    • 开发应用时,只需要关注客户端逻辑服务器之间的消息设定,不需要考虑链接服务器,且没有任何(需要引入的)预设消息。
    • 开发应用时,只需要分别实现逻辑服务器中的initLogicServerExt函数 和 (可选)全局服务器中的initCenterServerExt函数 (通常进行消息handle注册即可)。
    • 作为示例
  • 相关阅读:
    类 7.2访问控制与封装 笔记
    第七章 类(class)7.1 笔记
    10.4.3反向迭代器Reverse_iterator笔记
    10.4再探迭代器笔记
    10.3.4参数绑定 bind
    10.3lambda表达式笔记
    第10章 10.1-10.3笔记
    关于按下ctrl+z后,之后的cin失效的问题
    构造和改变一个string的其他方法
    BZOJ2527 & 洛谷3527:[Poi2011]Meteors——题解
  • 原文地址:https://www.cnblogs.com/irons/p/5292302.html
Copyright © 2011-2022 走看看