所以,让我们考虑一组Websocket应用程序。每个用户都连接到其中一个服务器。我需要实现聊天应用程序,其中每个用户都可以向任何用户发送消息。
我正在寻找快速,可靠,可扩展的方法,如何做到这一点。
我想,我需要一些很好的event bus
实现。每个用户在连接到websocket时都必须在事件总线中注册(或订阅)。然后,当另一个用户向给定用户发送消息时,event bus
向给定用户发布消息。
那么,我应该使用什么事件总线?
当然,我知道Redis Pub/Sub,但我不确定,这是2019年的最佳选择。
Redis Pub / Sub是一个非常好的选择。您需要实际担心的一件事是在某些情况下连接限制的数量。既然你知道WebSockets是长期存在的连接,那么这个东西的负载平衡与Http的工作方式差别不大。我建议你读这个东西我相信你会找到一些很好的资源。