【发布时间】:2012-02-22 19:42:33
【问题描述】:
我了解实现 JMS 请求-回复机制有不同的方式(或排列方式),即请求队列和响应队列、请求主题和响应主题,或两者的混合。
我想知道的是,(1) 推荐(或最常见)的方式是什么,以及 (2) 不同的排列如何衡量?
接下来,是不是更正确的说法 一种。 “向队列发送消息”或 b。 “通过队列发送消息”?
干杯!
【问题讨论】:
我了解实现 JMS 请求-回复机制有不同的方式(或排列方式),即请求队列和响应队列、请求主题和响应主题,或两者的混合。
我想知道的是,(1) 推荐(或最常见)的方式是什么,以及 (2) 不同的排列如何衡量?
接下来,是不是更正确的说法 一种。 “向队列发送消息”或 b。 “通过队列发送消息”?
干杯!
【问题讨论】:
此外,使用队列,您可以让多个订阅者处理消息,因此它是内置负载平衡器的孩子。使用主题无法轻松做到这一点。
【讨论】:
通常,使用队列。 “请求”意味着收件人,而不是通知任何关心的人,因此您可能想要队列的行为。
队列通常在一件事情上做得更好 - 或数量有限的对等事情 - 接收消息并处理它。当消息实际到达处理它的人很重要时,它们也倾向于比主题更理智的持久性模型。 (例如:如果丢弃消息是个问题,您可能需要一个队列)
主题更面向广播:说一些话,任何关心它的人都会听到。通常,这与“......并且没有预期的直接响应”密切相关,因为“零个或多个侦听器”模型......好吧,如果您期望得到响应,零个侦听器总是一个问题。
主题可以持久化,但规则比较陌生,很少是你真正想要的。
最后,我想大多数人都会说“to”一个队列,因为队列和从它处理消息的事物是不同的,但实际上,它并不重要,因为你传达了你的意思。
【讨论】: