FolkMQ v1.7.8

客户端接口使用 - JavaScript

FolkMQ 是单连接“多路复用”架构。“生产者” 与 “消费者” 的能力是容纳在客户端接口里。客户端通过 url 的形式与服务端连接,通过 nameAs 为自己取名字(相当于默认的“消费者组”),且客户端要单例化

目前 JavaScript 客户端只支持 “folkmq:ws” 或 “folkmq:wss” 协议通讯,tcp 支持仍在开发中。

兼容性

兼容:浏览器, uniapp(h5, android, ios), weixin, node.js

引用库文件或安装模块包

  • js.zip

https://gitee.com/noear/folkmq/releases/download/v1.7.8/folkmq.js.zip

https://github.com/noear/folkmq/releases/download/v1.7.8/folkmq.js.zip

  • html
<script src="https://cdn.jsdelivr.net/gh/noear/folkmq@1.7.8/folkmq-lang-js/release/folkmq.js"></script>
  • npm
npm install @noear/folkmq@1.7.8

连接

//ws 端口(需要服务侧启用 websocket。参考"部署与运维/可选配置")                
const client = await FolkMQ.createClient("folkmq:ws://127.0.0.1:18602")
                .nameAs("demoapp")
                .connect();

带签权的连接

//通过 url 签权
const client = await FolkMQ.createClient("folkmq:ws://127.0.0.1:18602?ak=xxx&sk=yyyy")
                .nameAs("demoapp")
                .connect();

//通过 meta 元信息签权
const client = await FolkMQ.createClient("folkmq:ws://127.0.0.1:18602")
                .config(c=>c.metaPut("ak", "xxx").metaPut("sk", "yyyy"))
                .nameAs("demoapp")
                .connect();

集群模式连接(多个服务地址用","号隔开)

//通过 url 签权
const client = await FolkMQ.createClient(["folkmq:ws://127.0.0.1:18601?ak=xxx&sk=yyyy",
                                      "folkmq:ws://127.0.0.1:18602?ak=xxx&sk=yyyy",
                                      "folkmq:ws://127.0.0.1:18603?ak=xxx&sk=yyyy"])
                .nameAs("demoapp")
                .connect();

//通过 meta 元信息签权
const client = await FolkMQ.createClient(["folkmq:ws://127.0.0.1:18601",
                                      "folkmq:ws://127.0.0.1:18602",
                                      "folkmq:ws://127.0.0.1:18603"])
                .config(c=>c.metaPut("ak", "xxx").metaPut("sk", "yyyy"))
                .nameAs("demoapp")
                .connect();