云巴实时通信最佳实践

为了让云巴服务发挥其最佳性能、更好地为你所用,我们总结了非常实用的「云巴实时通信最佳实践」,并将持续更新。如果你在使用云巴服务时发现了其他提升性能的技巧,也欢迎随时分享给我们(support@yunba.io)。

1. 不要频繁进行订阅、取消订阅的操作

为了充分利用云巴服务器的性能、提升通信质量,我们建议用户不要频繁进行订阅/取消订阅(subscribe / unsubscribe)的操作。 用户在进行系统架构时,如果能合理地设计 Topic 数量和订阅关系,云巴服务器就能够有效地缓存客户端的路由信息,从而加快通信时的寻址速度,提高通信质量。相反地,如果用户把 频道(Topic)当作临时资源来使用(尽管目前暂无限制),则会加重服务器负载,导致通信质量的下降。


2. 建议消息内容不超过 4 KB

云巴适合传输长度不超过 4 KB 的信息,比如物联网设备的控制信令、普通文字聊天信息等。如果需要传递超过 4 KB 的信息(比如图片、视频等),建议先使用第三方存储,然后在云巴系统通道中传递超链接。频繁地传递超过 4 KB 大小的信息可能会受到云巴系统的限制,降低通信质量。


3. 建议使用 QoS 1

近期,云巴 QoS 2 的逻辑正在优化中,建议使用 QoS 1,可以考虑在客户端层面进行去重处理。如果对消息的不重复要求很高,可以在 publish2 中自定义 messageId,具体使用的方法为在 publish2 的 opts 字段中加入 messageId 字段,该字段为64位整型数转为 String 型。接收端可以判断此 message 是否重复来判断是否是重复的消息。