🔥 FolkMQ v1.5.1 发布(“新式”国产消息中间件)


FolkMQ 是个“新式”的消息中间件。强调:“小而巧”、“简而强”。

功能简表

角色 功能
生产者(客户端) 发布普通消息、Qos0消息、定时消息、顺序消息、可过期消息、事务消息、广播消息
   
消费者(客户端) 订阅、取消订阅。消费-ACK(自动、手动)
   
服务端 发布-Confirm、订阅-Confirm、取消订阅-Confirm、派发-Retry、派发-Delayed

客户端语言支持

Java、Python、JavaScript(支持 node.js 后端,web 前端)

传输协议支持

tcp、udp、websocket、kcp

部署支持

可内嵌(依赖包为 200Kb+),可单机,可集群(部署包为 10Mb)。

本次更新

  • 新增 广播消息(给生产者添加广播模式)
  • 添加 控制台“强制清空”消息的操作
  • 添加 "fokmq:ws" 适配 websocket 子协议验证(避免乱连)
  • 添加 "server-broker" 控制台的集群节点面板添加“内存用率”查看
  • 优化 异步消息生产端的内存控制
  • 优化 客户端锁处理,默认无锁改为顺序锁
  • sokcet.d 升为 2.5.1

面向简单编程

1) 启动服务

docker run -p 18602:18602 -p 8602:8602 noearorg/folkmq-server:1.5.1

2) 编写程序

  • 引入一个小依赖
<dependency>
<groupId>org.noear</groupId>
<artifactId>folkmq-transport-netty</artifactId>
<version>1.5.1</version>
</dependency>
  • 写程序喽
public class ClientDemo {
public static void main(String[] args) throws Exception {
//创建客户端,并连接
MqClient client = FolkMQ.createClient("folkmq://127.0.0.1:18602")
.nameAs("demoapp")
.connect();

//订阅主题
client.subscribe("demo.topic", message -> {
System.out.println(message);
});

//发布普通消息
client.publish("demo.topic", new MqMessage("helloworld!"));
//发布Qos0消息
client.publish("demo.topic", new MqMessage("helloworld!").qos(0));
//发布顺序消息
client.publish("demo.topic", new MqMessage("helloworld!").sequence(true));
//发布广播消息
client.publish("demo.topic", new MqMessage("helloworld!").broadcast(true));
//发布定时消息(或延时消息)
client.publish("demo.topic", new MqMessage("helloworld!").scheduled(Datetime.Now().addDay(10)));
//......等
}
}

代码仓库

  • https://gitee.com/noear/folkmq
  • https://github.com/noear/folkmq

官网

  • https://folkmq.noear.org

相關推薦

2024-05-18

功能简表 角色 功能 生产者(客户端) 发布消息、定时消息(或叫延时)、顺序消息、可过期消息、事务消息。支持 Qos0、Qos1     消费者(客户端) 订阅、取消订阅。消费-ACK(自动、手动

2024-06-27

FolkMQ 是个“新式”的消息中间件。强调:“简而强”。可内嵌,可单机,可集群(部署包为 9Mb)。 功能简表 角色 功能 生产者(客户端) 发布普通消息、Qos0消息、定时消息、顺序消息、可过期消息、事务

2024-06-14

FolkMQ 是个“新式”的消息中间件。强调:“简而强”。可内嵌,可单机,可集群(部署包为 9Mb)。 功能简表 角色 功能 生产者(客户端) 发布普通消息、Qos0消息、定时消息、顺序消息、可过期消息、事务

2024-06-05

FolkMQ 是个“新式”的消息中间件。强调:“小而巧”、“简而强”。可内嵌,可单机,可集群(部署包为 9Mb)。 功能简表 角色 功能 生产者(客户端) 发布普通消息、Qos0消息、定时消息、顺序消息、可过

2024-04-17

功能简表 角色 功能 生产者(客户端) 发布消息、定时消息(或叫延时)、顺序消息、可过期消息、事务消息。支持 Qos0、Qos1     消费者(客户端) 订阅、取消订阅。消费-ACK(自动、手动

2024-01-03

简介 采用 “多路复用” + "内存运行" + "快照持久化" + "Broker 集群模式"(可选) 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、发布定时消息

2024-02-07

简介 采用 “单线程” + “多路复用” + "内存运行" + "快照持久化" + "Broker 集群模式"(可选) 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、

2024-01-18

简介 采用 “多路复用” + "内存运行" + "快照持久化" + "Broker 集群模式"(可选) 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端 发布消息(Qos0、Qos1)、定时消息(Qos0

2024-03-08

FolkMQ,作一个最简单的消息中间件(单机版,约 180K TPS)。面向简单,面向未来! 功能简介 角色 功能 生产端(或发起端) 发布消息、定时消息(或叫延时)、顺序消息、可过期消息、事务消息。发送消息

2024-05-18

端也不会 oom(客户端支持) 示例: 启动服务端(中间件): java -Xmx256M -jar folkmq-server.jar 用客户端简单压测一下: public class Test { public static void main(String[] args) throws Exception { MqClient client = FolkMQ.createClient("folkmq://1

2023-11-29

FolkMQ,是一个内存型消息中间件。它采用了类似 Redis 的策略(内存运行 + 快照持久化) 功能 发布消息、发布定时消息(支持 Qos0、Qos1) 订阅、取消订阅 ACK,自动重试、有策略的延时(可做分布式事务应用) 主要特点

2023-12-16

FolkMQ 是一个新起的内存型消息中间件。 简介 采用 “多路复用” + "内存运行" + "快照持久化" + "Broker 集群模式"(可选)+ 基于 Socket.D 网络应用协议 开发。全新设计,自主架构! 角色 功能 生产端

2022-06-21

合,压到秒级响应。 它的主要应用场景与 TiDB 或 MyCat中间件类似。都是海量CRUD。核心能力是水平分片与并行计算,可自动对大表进行透明的水平分片,(e.g 支持到PB级)。在此基础上,通过多节点,多进程,多worker的方式,

2024-02-24

群、集群热扩展 特点 高吞吐量、低延迟 FolkMQ 纯内存运行,每秒能处理几十万条消息,最低延迟不到1毫秒。 可扩展性 FolkMQ Broker 集群支持 folkmq-server 节点热扩展。流量高时随时加,流量低时可减 持久性