FolkMq v1.4.6 釋出(可以內嵌的訊息中介軟體)

带刺的坐椅發表於2024-05-21

功能簡表

角色 功能
生產者(客戶端) 釋出訊息、定時訊息(或叫延時)、順序訊息、可過期訊息、事務訊息。支援 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) 編寫程式

  • 引入一個小依賴
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>folkmq-transport-netty</artifactId>
    <version>1.4.6</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!"));
    }
}

程式碼倉庫

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

官網

  • https://folkmq.noear.org

相關文章