客户端接口使用 - Python
FolkMQ 是单连接“多路复用”架构。“生产者” 与 “消费者” 的能力是容纳在客户端接口里。客户端通过 url 的形式与服务端连接,通过 name_as 为自己取名字(相当于默认的“消费者组”),且客户端要单例化。
目前 Python 客户端只支持 “folkmq:ws” 或 “folkmq:wss” 协议通讯,tcp 支持仍在开发中。
兼容性
兼容:python >= 3.10
导入依赖包
- pip
pip install folkmq>=1.7.8
# 或者
pip install folkmq>=1.7.8 -i https://pypi.tuna.tsinghua.edu.cn/simple/
- reqeusts.txt
folkmq>=1.7.8
连接
//ws 端口(需要服务侧启用 websocket。参考"部署与运维/可选配置")
client = await (FolkMQ.create_client("folkmq:ws://127.0.0.1:18602")
.name_as("demoapp")
.connect())
带签权的连接
//通过 url 签权
const client = await (FolkMQ.create_client("folkmq:ws://127.0.0.1:18602?ak=xxx&sk=yyyy")
.name_as("demoapp")
.connect())
//通过 meta 元信息签权
const client = await (FolkMQ.create_client("folkmq:ws://127.0.0.1:18602")
.config(lambda c: c.meta_put("ak", "xxx").meta_put("sk", "yyyy"))
.name_as("demoapp")
.connect())
集群模式连接(多个服务地址用","号隔开)
//通过 url 签权
const client = await (FolkMQ.create_client("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")
.name_as("demoapp")
.connect())
//通过 meta 元信息签权
const client = await (FolkMQ.create_client("folkmq:ws://127.0.0.1:18601",
"folkmq:ws://127.0.0.1:18602",
"folkmq:ws://127.0.0.1:18603")
.config(lambda c: c.meta_put("ak", "xxx").meta_put("sk", "yyyy"))
.name_as("demoapp")
.connect())