提问人:dalvik 提问时间:8/14/2023 最后编辑:dalvik 更新时间:8/14/2023 访问量:23
Websocket 服务器实例之间的通信
Communicating between Websocket server instances
问:
我要构建的后端服务具有以下功能需求:
用户可以创建聊天室,其他受邀用户可以在其中共享内容。
一个用户对他们所在的房间的更改必须立即通知其中的其他用户。
假设设置了粘性会话,并且一个用户将始终向一个实例发送请求,那么问题是如何管理在事件发生时通知其他用户(在其他实例上)?
我的想法是有一个消息代理来在所有实例之间进行通信。流程如下所示:
每当在实例上创建用户时,请让实例监听用户 ID 的主题。
每当消息(包含发件人的 ID、房间 ID、房间所有者的 ID、数据)到达实例时,就所有者的 ID 主题发布到消息代理。
侦听所有者 ID 的实例获取消息,检索房间信息,并再次将消息发布给其中的所有用户。
但是,我觉得这会导致很多开销,并且很可能有更好的方法来解决这个问题。将房间 ID 用作主题会更好吗?思潮?
答: 暂无答案
评论