This website works better with JavaScript
首頁
探索
說明
註冊
登入
git
/
tinymq
關註
1
讚好
0
複刻
0
Files
問題管理
0
合併請求
0
Wiki
暫無描述
37
提交歷史
2
Branches
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 的功能,只需要压缩数据部分
转发地址定时测试切换回到主服务节点
增加订阅中间件,处理验证登录等问题