您的位置:首页 > 编程语言 > C语言/C++

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

2016-03-18 15:25 435 查看

分布式服务器框架

框架简介

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

n个
连接服务器
:负责处理客户端的网络链接,并转发客户端和逻辑服务器之间的消息。

n个
逻辑服务器
:负责处理(由链接服务器转发过来的)客户端的网络消息

1个
全局服务器
:负责处理全局逻辑

其实还额外需要一个神器:etcd,作为服务器框架中的
逻辑服务器
感知
链接服务器
的新增和失效

无论拓扑图请参考
架构图
:

框架内置组件:

多连接ssdb客户端

redis/ssdb代理服务器

仅支持C++语言的RPC(支持protobuf类型消息,适合服务器之间业务开发,并支持异步回调)

既定规则(建议)

客户端拥有最多两个
逻辑服务器
:分别是Primay和Slave

当客户端链接某
链接服务器
会(自动)分配一个Primary类型的
逻辑服务器
(且不会、也不能重设)

客户端的消息优先(转到到)Slave处理

逻辑服务器
可自由设置客户端的当前Slave

当然,客户端的Primay和Slave可以为同一个
逻辑服务器


实际项目中,您可以借助第三方负载均衡服务器来分配
链接服务器
的地址给客户端.

内置有
ssdb
客户端和
ssdb
代理服务器,如果你的应用需要数据库,不妨一试。

使用方式

开发应用时,只需要关注
客户端
逻辑服务器
之间的消息设定,不需要考虑
链接服务器
,且没有任何(需要引入的)预设消息。

开发应用时,只需要分别实现
逻辑服务器
中的
initLogicServerExt
函数 和 (可选)
全局服务器
中的
initCenterServerExt
函数 (通常进行消息handle注册即可)。

作为示例

中心服务器
的扩展参考CenterServerExt.cpp

逻辑服务器
的扩展参考LogicServerExt.cpp

测试客户端请看:SimulateClient.cpp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: