FolkMQ 内存型消息中间件,v1.0.21 发布

发布时间 2023-12-14 20:20:16作者: 带刺的坐椅

简介

  • 采用 “多路复用” + "内存运行" + "快照持久化" + "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

代码仓库