This website works better with JavaScript
首页
发现
帮助
注册
登录
git
/
tinymq
关注
1
点赞
0
派生
0
文件
工单管理
0
合并请求
0
Wiki
暂无描述
37
提交历史
2
代码分支
0
版本发布
目录树:
641bddd963
分支列表
标签列表
main
v2
tinymq
HTTPS
SSH
ZIP
TAR.GZ
Joyit
641bddd963
change print ping to false
10 月之前
config
641bddd963
change print ping to false
10 月之前
conn
fd73e6dacc
add some print
11 月之前
examples
af139dac46
change data type from []byte to any
10 月之前
.gitignore
c3e78f5f89
change mod name
1 年之前
README.md
e9086c71c8
add gzip in connect
1 年之前
go.mod
c3e78f5f89
change mod name
1 年之前
go.sum
c3e78f5f89
change mod name
1 年之前
hub.go
af139dac46
change data type from []byte to any
10 月之前
line.go
cc6e593ca2
fix
11 月之前
type.go
af139dac46
change data type from []byte to any
10 月之前
README.md
一款简单的可以跨平台 mq 架构设计
提供服务端和客户端代码,采用多对多的结构,可能方便切换不同的连接方式和不同的连接地址。 如果直连优先,系统会定时尝试切换连接,直到直连成功。
设计原则
简单,安全,自动重连。 三层架构:
通信连接层,实现不同的通信方式,如 tcp, websocket, udp 等
连接聚合层,管理不同的连接,重连等
用户接口
需要的功能
同地址多连接协议
自动重连
多协议绑定
连接验证
问题与优化
建立内存池来分配内存,减少内存碎片
同地址多连接共存,使用不同的连接发送消息,减少延时,提高消息送达可靠性
已经解决的问题
增加 gzip 的功能,只需要压缩数据部分
转发地址定时测试切换回到主服务节点
增加订阅中间件,处理验证登录等问题