基于 WebSocket 的 AMQP 与 RabbitMQ

Posted

技术标签:

【中文标题】基于 WebSocket 的 AMQP 与 RabbitMQ【英文标题】:AMQP over WebSocket with RabbitMQ 【发布时间】:2016-03-14 18:53:37 【问题描述】:

有没有办法使用 AMQP 通过 WebSockets 与 RabbitMQ 通信?

我想真正的问题是 RabbitMQ 中是否支持此功能以及浏览器是否有任何客户端库?无法真正理解它,谷歌没有为我提供任何答案。

今天我们使用的是 RabbitMQ STOMP-SockJS 解决方案。但这不适用于 LVC(最后一个值缓存)和默认值以外的交换。因为它不允许将多个路由键绑定到同一个队列。 (它会自动为每个订阅创建一个新队列。)

【问题讨论】:

【参考方案1】:

根据我的经验,最好(最灵活、可扩展、安全等)的方法是为您的 WebSocket 构建一个 Web 服务器,并让该 Web 服务器与 RabbitMQ 通信。

【讨论】:

这是我们最终得到的解决方案。【参考方案2】:

Kaazing 有一个 AMQP javascript API,它与 RabbitMQ 的 AMQP 实现之一一起工作。它对开发者免费,可以下载here

全面披露:我为 Kaazing 工作。

【讨论】:

“开发者免费”究竟是什么意思?整个东西似乎有 Apache 2.0 许可证? 与其他软件产品非常相似。如果您想使用 Kaazing AMQP 软件开发应用程序,则无需付费。您可以使用论坛获得支持。如果您想在生产环境中使用它并获得 24/7 全球支持,则需要付费。相当标准的东西。 只是为了澄清。当然,您可以随意使用 Github 中的 OSS 版本。我的 cmets 严格要求提供 24x7 的免费支持。

以上是关于基于 WebSocket 的 AMQP 与 RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章

AMQP C++ 实现 [关闭]

消息队列RabbitMQ

使用 AMQP 和 Node.JS 进行实时数据同步

SringCloud学习成长之路 八 消息总线

rabbitmq - (消息队列) 的基本原理介绍

SpringCloud 教程 消息总线(Spring Cloud Bus)