一个简单的开源消息中间件 FolkMQ v1.4.2 发布

功能简表

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

本次更新

  • 添加 自定义 tid(key) 支持(之前自动生成)
  • 添加 PackagingLoopImpl 新的构造函数
  • 添加 外部配置文件加载支持(./data/app.yml)
  • 添加 消息二进制数据支持(可以方便不同的消息数据序列化)
  • 添加 顺序消息分区支持(在集群下才有效)
  • 优化 顺序消息没有消费者时 server 端 cpu 过高的问题
  • 优化 企业版授权控制
  • 优化 Server 预关闭支持
  • 优化 顺序消息的强制派发处理
  • sokcet.d 升为 2.4.10

面向简单编程

1) 启动服务

复制代码
docker run -p 18602:18602 -p 8602:8602 noearorg/folkmq-server:1.4.2

2) 编写程序

  • 引入一个小依赖
xml 复制代码
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>folkmq-transport-netty</artifactId>
    <version>1.4.2</version>
</dependency>
  • 写程序喽
java 复制代码
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!"));
    }
}

代码仓库

官网

相关推荐
兰亭妙微UI设计公司5 分钟前
兰亭妙微软件界面设计公司的解锁按钮设计10大密码
开发语言·前端·javascript
wangchunyu11433 分钟前
JDK8新特性实战(Lambda、Stream、Optional)
java·开发语言
JosieBook44 分钟前
【多线程】两台机器同时抢一个字典:一次并发 Bug 的排查
java·网络·bug
牛战士coding1 小时前
LLM 选错工具怎么办?提示词之外还需要确定性规则兜底
java·人工智能
今天的砖头有点烫手啊1 小时前
Java 序列化到底怎么选?从 Serializable 到 Protobuf 的演进与选型
java·json
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 登录发送验证码的测试验证与经验复盘
java·开发语言·交友
u0111026751 小时前
WebP 转成 PNG 后为什么更大?图片格式转换不等于压缩
前端·javascript·vue.js
夕除1 小时前
redis--主从还是集群,内存
java·spring·mybatis
百数平台1 小时前
低代码安全技术实践:表单 / 流程 / 报表三级权限体系设计解析
java·大数据·数据库
白露与泡影1 小时前
Spring Boot 实现验证码:Hutool-captcha、AJ-Captcha、EasyCaptcha 到底怎么选?
java·spring boot·后端