什么是MQ以及它们与Web服务有何不同

时间:2012-01-13 03:38:45

标签: java web-services jms rabbitmq mq

我最近开始研究MQ,我有一些非常基本的问题,

  1. 如何在Web服务和MQ之间做出决定?

  2. MQ只能发送字符串消息,还是可以与Java Objects一起使用

  3. 客户端和服务器所在的位置是否有任何限制?或者就像webseriveces一样,客户端/发布者可以在任何地方,服务器/接收者应该驻留在公共网络上(假设它是公共WS)

2 个答案:

答案 0 :(得分:4)

  1. 消息队列主要用于异步操作,您无需等待响应。你可以阻止调用者直到找到响应,但这通常是MQ不适合的。只有在用户 NOT 等待输出的情况下才会使用它。网络服务正好相反。您收到请求,处理它并在有限的时间内将其返回。调用者将主要阻止,直到收到回复。
  2. 您可以将字符串,对象,地图,字节数组发送到MQ。
  3. 关于MQ的放置没有限制。就像webservices一样,它们可以在任何地方,你可以从队列中写入和读取。

答案 1 :(得分:0)

查看链接

  

http://en.wikipedia.org/wiki/IBM_WebSphere_MQ

了解更多详细信息。 发布了类似的问题:

  

Message Queue vs. Web Services?

     

发现这个也很有用:   http://www.hanselman.com/blog/ClassicWebServicesVersusPOXXMLOverMQAreYouReallyUsingXML.aspx