FolkMq v1.4.6 发布(可以内嵌的消息中间件)

功能简表

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

客户端语言支持

  • for Java
  • for JavaScript
  • for Python

传输协议支持

  • tcp
  • udp
  • websocket
  • kcp

本次更新

  • 新增 python client sdk
  • 添加 基于内存的限流支持客户端
  • 增加 基于内存的服务端限流支持(当内存使用超过80%时,开始限流)
  • 增加 folkmq:wss:// 协议头支持
  • 增加 与小程序的兼容性
  • 增加 客户端虚拟命名空间支持
  • 修复 动态计数失真的问题
  • 优化 后台发送消息时,如果没有主题。提示失败
  • sokcet.d 升为 2.4.18

面向简单编程

1) 启动服务

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

2) 编写程序

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

代码仓库

官网

相关推荐
wuminyu2 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
txxzjmzlh2 小时前
SpringBoot 配置⽂件
java·spring boot·spring
ragnwang2 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go2 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3273 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
独泪了无痕3 小时前
Hutool之LocalDateTimeUtil:让时间间隔操作如虎添翼
java
weixin_307779133 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102164 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷4 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++