cs实时系统之网关设计
今天给大家讲一下client-server系统(cs)设计,基本结构
1.client 客户端,插件式开发,负责对应ui的展示
2.gateway 网关层,管理客户端通信连接,负载后端集群服务
3.server 后端,分布式集群,提供各种业务服务
client与gateway之间使用tcp长连接进行通信,针对client于gateway之间我们抽象了以下几个通用功能点,如下图:
1.client gateway-api提供如下功能点
connect(登录连接)
disconnect(断开连接)
request(请求/响应)
subscribe(订阅实时消息)
unsubscribe(退订实时消息)
heatbeart(心跳)
reconnect(重连)
2.gateWay
提供tcp长连接服务
提供订阅/退订模式
接收kafka实时消息,根据订阅信息进行推送
提供dubbo泛化异步调用
提供tcp心跳,连接管理
代码例子路径:https://github.com/bliplink/gateway-api-demo
有感兴趣的朋友可以留言,探讨。