架构设计
如上图所示,各个子模块职责如下:
- Connection Manager: 管理客户端和Bridge之间的连接
- Protocol Converter:负责协议转换,将协议数据包转换成Bridge内部的Message
- Downstream module:下行模块,负责
- 接收客户端(Producer)发送的消息
- 处理客户端(Consumer)的订阅请求
- 向客户端(Consumer)推送订阅的消息
- 向其他Bridge转发消息
- Upstream module:上行模块,负责将客户端发送的消息上报给外部系统,例如Flink,Spark
- Message Store:消息存储模块,负责
- 持久化所有需要保存的消息
- 查询某个客户端所有的离线消息
- 根据消息Id查询某一条消息
- Subscription Store: 订阅消息存储模块,负责
- 根据topic查询订阅该topic的所有客户端
- 维护topic -- client list的映射关系