Web Socket 与 JMS 或 Activemq [关闭]

Posted

技术标签:

【中文标题】Web Socket 与 JMS 或 Activemq [关闭]【英文标题】:Web Socket vs JMS or Activemq [closed] 【发布时间】:2014-06-12 16:59:39 【问题描述】:

我想知道 Java Web 套接字和 JMS(或 ActiveMq)有什么区别?请让我知道或有任何来源对 WebSocket 和 JMS 进行任何比较,以及在哪里使用 websocket 而不是在哪里使用 Activemq 而不是 websocket。 Activemq 是 JMS 的一个实现。 Activemq 可能使用 Web 套接字。如果使用 web 套接字而不是 Activemq 来传输消息(具有任何类型的数据)怎么办?这可能取决于应用程序的类型和要求,一般情况下如何让我轻松决定使用什么,让我有你的想法(我想在两个 Web 应用程序之间发送消息,简单、快速且重量轻) .

那些投票给关闭的人:请考虑帮助,至少让一些人获得帮助,知识而不是回避它。

【问题讨论】:

“Web 应用程序”通常是指在 Web 服务器上运行的东西。 Websockets 仅在涉及浏览器时才适用。除非“网络应用程序”是指“浏览器应用程序”? @WarrenDew。我感谢并感谢您的关注。我的应用程序是基于网络的,不涉及浏览器。所有通信都在服务器上运行的 Web 应用程序之间进行。根本没有浏览器。您的意思是,仅当浏览器(网页、jsp、html、js)与服务器 Web 应用程序通信时才使用套接字?如果是这样,网络套接字不能用于我的要求。我对他们了解不多。在开始之前,我正在观察可能性。再次感谢 【参考方案1】:

Web 套接字是一种在 Web 浏览器和 Web 服务器之间提供两种套接字样式接口的方式,服务器能够推送信息,而不仅仅是响应浏览器 HTTP“拉取”请求。从您的问题和澄清中可以看出,这不是您所需要的。

然而,普通套接字是在应用程序之间提供同步通信的好方法。如果接收消息的应用程序可以同步处理它们 - 只要它们被发送 - 常规套接字可能是一个很好的解决方案。

消息队列旨在用于异步通信 - 消息在发送后可能需要存储一段时间,然后收件人才能获取消息并对其进行操作。由于需要存储,消息队列需要单独的服务器来存储消息,或者在某些情况下需要数据库服务器(如果您已经有一个)。

普通套接字简单、快速、轻量;消息队列并不是真的,因为它们需要设置单独的服务器。但是,如果您需要异步消息传递,可能没有真正简单、快速和轻量级的解决方案,因此消息队列可能是下一个最佳选择。

【讨论】:

感谢您的回答。我还阅读了有关 ActiveMq 的信息。现在有了你的答案,网络套接字、JSM 以及普通套接字就很清楚了。 是的,我想了解普通套接字与 JMS。

以上是关于Web Socket 与 JMS 或 Activemq [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在Active MQ中使用XML spring的JMS SOAP

JMS 之 Active MQ 的spring整合

JMS 之 Active MQ 的消息传输

JMS 之 Active MQ 消息存储

JMS 之 Active MQ 消息存储

JMS进阶-Spring整合Active MQ