通过WebSockets从Web应用访问pub / sub系统

时间:2018-05-30 08:21:29

标签: websocket socket.io rabbitmq publish-subscribe

我需要一个Web应用程序实例来通过WebSocket接收通知。

这些通知来自后端系统中的事件;这些事件需要以多种方式处理,而不仅仅是推送给客户。

因此,发布/订阅系统是理想的:发布事件, n 消费者处理它们,如果它们与其操作相关(例如按主题)。

鉴于我对WebSocket缺乏了解,我很难理解我需要实施的整体架构。

在pub / sub世界中,消费者订阅与他们感兴趣的“主题”相关的消息队列。

可以在WebSockets中完成相同的操作吗?(即:当从浏览器连接到WebSocket时,我可以指定一组客户感兴趣的主题吗?)。

如果是这样,是否可以直接连接到pub / sub系统,还是需要从pub / sub中消耗的中间层并推送到websockets?

我想最后一个问题的答案取决于使用的pub / sub,并且需要一些基于WebSocket的库。

我熟悉RabbitMQ,但我可以选择另一个发布/订阅系统,因为目前没有任何内容,所以我没有迁移成本。

由于

1 个答案:

答案 0 :(得分:1)

与MQTT不同,WebSockets在协议级别上不实现Pub / Sub。您需要自己在WebSockets协议之上实现它。绝对有可能这样做,但正如你所期望的那样,这是相当繁琐的。

理想情况下,您可以使用像Ably这样的PaaS解决方案来抽象此实现,并允许您将Pub / Sub作为开箱即用的功能使用。

如果您想更快地了解WebSockets的更多信息,可以在这里找一个简短的video与其他网络协议(如HTTP,长轮询等)进行区分。

希望能回答你的问题。