San*_*dal 5 java jms message-queue publish-subscribe jms-topic
我试图了解使用Queue的用例.
我的理解:队列意味着一对一.唯一的用例(如果不罕见,很少)将是:消息仅用于一次消费.
但即使在这些情况下,我也可能想要使用Topic(只是为了将来安全).唯一需要特别注意的是使订阅持久.或者,在特殊情况下,我会使用桥接/调度机制.
鉴于上述情况,我总是(或在大多数情况下)想要发布主题.订阅者可以是持久主题或分派队列.
请让我知道我在这里缺少什么,或者我错过了原来的意图?
如果您从实际示例的角度考虑,关于何时使用队列的设计要求很简单:
...以及何时使用主题的示例...
你说...
但即使在这些情况下,我也可能想使用 Topic(只是为了将来安全)。我唯一需要做的就是让(每个)订阅持久化。或者,我在特殊情况下,我会使用桥接/调度机制。
你过度设计了设计。确实,您可以使用主题和持久订阅者实现一次处理,但您只能使用单个持久订阅者;当您为该主题启动另一个订阅者时,您将获得对同一消息的重复处理,更不用说,单个持久订阅者几乎不是可扩展的解决方案;这肯定会成为您系统中的瓶颈。使用队列,您可以在 100 个节点上为同一个队列部署 1000 个接收器,并且您仍然可以对单个消息进行一次处理。
你说...
上面给出,我总是(或在大多数情况下)想要发布到一个主题。订阅者可以是持久主题或分派队列。
使用带有主题订阅者的调度队列有点多余。使用队列时,您基本上会获得异步调度,那么为什么不只使用队列呢?...没有理由在它前面放置一个主题。
| 归档时间: |
|
| 查看次数: |
5143 次 |
| 最近记录: |