一个简单的开源消息中间件 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!"));
    }
}

代码仓库

官网

相关推荐
多加点辣也没关系4 分钟前
JavaScript|第12章:属性配置与 getter/setter
javascript
程序员吕洞宾21 分钟前
开源多维表格SmartTable V1.6.1:工作流画布,让自动化工作流配置更直观、更方便
java·开源·自动化
我登哥MVP26 分钟前
走进 Gang of Four 设计模式:访问者模式
java·设计模式·访问者模式·原型模式
雪碧聊技术29 分钟前
一文深入理解 Java 函数式编程思想
java·函数式编程
AIGS00132 分钟前
突破语义鸿沟:从向量空间JBoltAI看企业大脑构建逻辑
java·大数据·人工智能·人工智能ai大模型应用
琢磨先生David38 分钟前
OpenJDK 与 Oracle JDK 完整区别
java
gis开发之家39 分钟前
《Vue3 从入门到大神29篇》单元测试与 E2E 测试 —— 保障 Vue3 项目的质量
前端·javascript·vue.js·单元测试·前端框架·vue3
倔强的石头10642 分钟前
企业智能设备运维管理系统:靠飞算 JavaAI,告别 Java 低效搬砖日常
java
深盾科技_Virbox1 小时前
软件授权工具静默安装实践
java·运维·数据库·安全·软件需求
ShiXZ2131 小时前
指令集-NPM 常用指令速查手册
前端·npm·node.js