SockJS 和 ActiveMQ/RabbitMQ 之间的区别

Difference between SockJS and ActiveMQ/RabbitMQ

我最近开发了一个具有 Spring 引导和 Spring 安全性的简单消息传递应用程序。该应用程序接收 2 个用户 - 用户 A 和用户 B。一旦用户 A 执行了特定任务,就会向用户 B 发送通知。目前,我通过添加 Spring 消息传递依赖项和 SockJS 来实现这一点,效果很好。

这里是我的困惑,希望得到一些指导。我意识到有很多教程都在谈论 RabbitMQ 和 ActiveMQ。据我了解,他们是消息代理。请问SockJS和RabbitMQ/ActiveMQ有什么区别?我当前的应用程序中是否需要 RabbitMQ/ActiveMQ 和 SockJS?

SockJS 是基于 JavaScript 的 WebSocket client 库,在浏览器中运行。它可用于向代理发送消息或从代理接收消息。

RabbitMQ和ActiveMQ都是消息brokers,实例message-oriented middleware。它们都支持使用消息传递协议(例如 STOMP 或 AMQP)的 WebSocket 客户端。代理从客户端接收消息并向客户端发送消息。

您还没有真正提供足够的信息来确定您是否真的需要在您当前的应用程序中使用 RabbitMQ 或 ActiveMQ,因为它已经可以正常工作了。