No Description

Joyit d2df748a35 change config 3 weeks ago
config d2df748a35 change config 3 weeks ago
conn d2df748a35 change config 3 weeks ago
examples e9086c71c8 add gzip in connect 3 weeks ago
.gitignore c3e78f5f89 change mod name 1 month ago
README.md e9086c71c8 add gzip in connect 3 weeks ago
go.mod c3e78f5f89 change mod name 1 month ago
go.sum c3e78f5f89 change mod name 1 month ago
hub.go d2df748a35 change config 3 weeks ago
line.go 173a79e59c fix connect update time bug 1 month ago
type.go 84bb40ae6c fix 4 weeks ago

README.md

一款简单的可以跨平台 mq 架构设计

提供服务端和客户端代码,采用多对多的结构,可能方便切换不同的连接方式和不同的连接地址。 如果直连优先,系统会定时尝试切换连接,直到直连成功。

设计原则

简单,安全,自动重连。 三层架构:

  • 通信连接层,实现不同的通信方式,如 tcp, websocket, udp 等
  • 连接聚合层,管理不同的连接,重连等
  • 用户接口

需要的功能

  • 同地址多连接协议
  • 自动重连
  • 多协议绑定
  • 连接验证

问题与优化

  • 建立内存池来分配内存,减少内存碎片
  • 同地址多连接共存,使用不同的连接发送消息,减少延时,提高消息送达可靠性

已经解决的问题

  • 增加 gzip 的功能,只需要压缩数据部分
  • 转发地址定时测试切换回到主服务节点
  • 增加订阅中间件,处理验证登录等问题