我们正在寻找一种方法来让后台进程将消息推送到连接的客户端。
我们采用的方法是,每当建立新连接(OnConnected)时,我们将 connectionId 与一些请求元数据(用于以后过滤)单独存储在我们的 mongo db 中。当事件发生(从客户端或后端进程触发)时,workerrole(另一个后台进程)将侦听这些事件(通过消息传递或其他方式),然后根据事件详细信息,它将使用捕获的元数据过滤连接的客户端。
该方法似乎还可以,但是当我们遇到问题时
- 信号器服务器出现故障
- 在服务器备份之前,客户端断开连接(关闭浏览器或其他)
信号器服务器备份
我们在 mongodb 中留下了我们不知道它们的连接状态的连接
我想知道是否有更好的方法来做到这一点,目标是能够针对特定连接的客户端将消息推送到后端服务(工作角色)
顺便说一句,我们正在使用带有服务总线背板的横向扩展选项