集群代理把多个知眸开放平台实例聚合为一个集群:对外提供与官方文档完全一致的 HTTP API 与 MQTT 事件面,内部将请求调度到多个后端平台,并汇聚各后端发布到 /openapi/event 的事件。可部署在任意一台能连通所有后端平台的机器上(独立主机,或与某个平台同机)。客户端 ──HTTP :10042 / MQTT :11883|:18083──▶ 集群代理(openapi_cluster)
│ HTTP+token / MQTT 上游
┌───────────────┴───────────────┐
平台 node1 平台 node2
HTTP:10042 / MQTT:11883 HTTP:10042 / MQTT:11883
端口与网络要求#
对客户端暴露(需防火墙 / 安全组放行):HTTP 10042、MQTT TCP 11883、MQTT WebSocket 18083——与单个开放平台完全一致,客户端只需把地址指向代理主机即可。
代理 → 后端平台(出向,需网络互通):每个后端的 HTTP 10042 与 MQTT 11883。
代理默认监听的 10042 / 11883 / 18083 与开放平台相同。若代理与某平台同机部署,端口会冲突,需在 cluster.yaml 里为代理改用其他端口(listen、mqtt.tcp_listen、mqtt.ws_listen),并相应调整客户端与防火墙。
部署步骤#
1
下载二进制 openapi_cluster
直接下载官方发布的静态二进制,放到部署机的
/opt/zhimou/ 并加执行权限:
2
编写配置 cluster.yaml
配置文件放在
/opt/zhimou/cluster.yaml。最小配置只需
backends,其余键有默认值:
每个后端的 appkey / appsecret 取自该平台自己的 密钥(首次安装时的明文回显见 手动部署 的「初始化 appsecret」,事后可用 zhimou_openapi -show-license 查看 appkey 与掩码 appsecret,遗失只能 -reset-appsecret 重置)。name 必须唯一。3
安装并启动 systemd 服务
下载官方服务文件到
/etc/systemd/system/openapi_cluster.service: