簡介
- 採用 “多路複用” + "內存運行" + "快照持久化" + "Broker 集羣模式"(可選)+
- 基於 Socket.D 網絡應用協議 開發。全新設計,自主架構!
角色 | 功能 |
---|---|
生產端 | 發佈消息(Qos0、Qos1)、發佈定時消息(Qos0、Qos1)、發佈重試 |
消費端 | 訂閱、取消訂閱 |
消費端 | 消費-ACK(自動、手動) |
服務端 | 發佈-Confirm、訂閱-Confirm、取消訂閱-Confirm、派發-Retry、派發-Delayed |
服務端 | 內存運行、快照持久化(自動、停機、手動) |
服務端 | 集羣熱擴展 |
特點
- 高吞吐量、低延遲
FolkMQ 純內存運行,每秒能處理幾十萬條消息,最低延遲不到1毫秒。
- 可擴展性
FolkMQ Broker 集羣支持 folkmq-server 節點熱擴展。流量高時隨時加,流量低時可減
- 持久性、可靠性
消息被快照持久化(類似於 redis)到本地磁盤,並且支持數據備份防止數據丟失
- 快(單機版,180K TPS)。有點像 Redis 之於 MySql。
//使用 MacBook pro 2020 + JDK8 本機測試,單客戶端發與收(跑分難免有波動,我是選了好看點的)
本次更新
- 添加 集羣熱擴展機制(重要新特性)
- 添加 folkmq-server 控制檯消息手動發佈功能
- 添加 folkmq-broker 控制檯消息手動發佈功能
- 添加 mq.event.join 新指令(用於加入集羣時,同步訂閱)
- 添加 client 批量訂閱支持(連接前的訂閱,在連接時批量提交)
- 添加 client::unpublish 取消發佈接口中
- 添加 client::unpublishAsync 取消發佈異步接口
- 調整 各端打開時的日誌打印
- sokcet.d 升爲 2.1.13