我们提供安全,免费的手游软件下载!

安卓手机游戏下载_安卓手机软件下载_安卓手机应用免费下载-先锋下载

当前位置: 主页 > 软件教程 > 软件教程

FolkMQ:简而强的新式消息中间件

来源:网络 更新时间:2024-06-17 11:32:45

FolkMQ是一种新型的消息中间件,其设计理念强调“简而强”。该中间件具有内嵌、单机和集群部署的特点,部署包大小仅为9Mb。

功能简表:

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

客户端语言支持: Java、Python、JavaScript(支持node.js后端,web前端)

传输协议支持: tcp、udp、websocket、kcp

本次更新:

  • 新增控制台“流量看板”
  • 新增客户端流量控制支持(trafficLimiter),可控制客户端内存占用
  • 优化folkmq-server启用新的确认机制(向下兼容),可减少内存占用
  • 修复python sdk批量订阅无效的问题
  • 修复javascript sdk批量订阅无效的问题
  • socket.d升为2.5.4

面向简单编程:

1) 启动服务

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

2) 编写程序

  • 引入一个小依赖

    org.noear
    folkmq-transport-netty
    1.6.0

  • 编写程序
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!"));
        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