# 一款简单的可以跨平台 mq 架构设计 提供服务端和客户端代码,采用多对多的结构,可能方便切换不同的连接方式和不同的连接地址。 如果直连优先,系统会定时尝试切换连接,直到直连成功。 ## 设计原则 简单,安全,自动重连。 三层架构: - 通信连接层,实现不同的通信方式,如 tcp, websocket, udp 等 - 连接聚合层,管理不同的连接,重连等 - 用户接口 ## 需要的功能 - 同地址多连接协议 - 自动重连 - 多协议绑定 - 连接验证 ## 问题与优化 - 建立内存池来分配内存,减少内存碎片 - 同地址多连接共存,使用不同的连接发送消息,减少延时,提高消息送达可靠性 ## 已经解决的问题 - 增加 gzip 的功能,只需要压缩数据部分 - 转发地址定时测试切换回到主服务节点 - 增加订阅中间件,处理验证登录等问题