【问题标题】:How does a JMS Topic Subscriber in a clustered application server recieve messages?集群应用服务器中的 JMS 主题订阅者如何接收消息?
【发布时间】:2010-01-07 01:02:24
【问题描述】:

假设我创建了一个包含一个订阅者 (PropertiesSubscriber) 的 JMS 主题 (PropertiesTopic)。 PropertiesSubscriber 运行在负载平衡的应用服务器集群中,如下图所示。

alt text http://www.freeimagehosting.net/uploads/be28c03781.png

当消息传递到 PropertiesTopic 时,运行在不同应用服务器上的 PropertiesSubscriber 的所有实例是否都会收到该消息,或者消息是否仅传递到由负载平衡器确定的应用服务器上运行的一个 PropertiesSubscriber 实例?

【问题讨论】:

  • 订阅者是 MDB(消息驱动的 EJB)?
  • 假设每个订阅者都是一个 MDB。会有什么不同吗?

标签: jms load-balancing publish-subscribe cluster-computing subscriber


【解决方案1】:

JMS 2.0 introduces shared subscriptions。这些允许多个消费者(例如:在集群的不同节点上)共享一个主题订阅。只有一个共享订阅的消费者会收到每条消息。

要将多个消费者指定为共享订阅,他们需要使用same sharedSubscriptionName

【讨论】:

  • 我们如何在 JMS1.1 中对消息进行负载均衡?
【解决方案2】:

在不同应用服务器上运行的所有 PropertiesSubscriber 实例收到该消息。即使同一个应用服务器上有多个监听器,所有的监听器都会收到消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2018-08-14
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 2019-09-09
    • 2017-10-23
    • 2012-05-30
    相关资源
    最近更新 更多