Sem descrição

Joyit be51526b66 clear extra data when connect close há 10 meses atrás
config 641bddd963 change print ping to false há 10 meses atrás
conn fd73e6dacc add some print há 11 meses atrás
examples 034462ff9f add data type in function há 10 meses atrás
.gitignore c3e78f5f89 change mod name há 1 ano atrás
README.md e9086c71c8 add gzip in connect há 1 ano atrás
filter.go 8e468aa68d change channel filter há 10 meses atrás
go.mod c3e78f5f89 change mod name há 1 ano atrás
go.sum c3e78f5f89 change mod name há 1 ano atrás
hub.go 034462ff9f add data type in function há 10 meses atrás
line.go be51526b66 clear extra data when connect close há 10 meses atrás
type.go 034462ff9f add data type in function há 10 meses atrás

README.md

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

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

设计原则

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

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

需要的功能

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

问题与优化

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

已经解决的问题

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