2010-05-10 30 views
3

我期待构建一个发布/订阅分布式消息传递框架,该框架可以在代理级别管理大量消息流量并提供一些智能。我不知道是否有一个描述这个拓扑,但是这之后我打算型号:优化的发布/订阅JMS代理群集和StackOverFlow上的冲突帖子以获取答案

示例模型一个

A)有两种运行消息代理(理想地全部在本地主机上如果可能的话,更容易演示-ING):

  • 经纪人-A
  • 经纪人-B

B)每个经纪人有2位听众和1位发布者。

示例图

[订户A1,用户A2,出版商A1] < - > BrokerA < - > BrokerB < - > [出版商B1,订户 B1,B2订户]

  • IF消息-X被发布到代理的,有没有订阅者它经纪人-B的听众之间(经由消息选择器或代理路由规则中的条件),那么该消息-X将永远不会发布给代理-B。

  • ELSE,经纪人将公布券商B,其中 经纪人乙 听众/用户/服务之一是 基础上, 订阅标准预计该消息的消息。

即集群正确的做法?

起初,我的结论是“经纪人集群”的概念是我需要支持这一点。然而,正如我已经认识到它,典型用途集群的需要之一:在所有券商

  • 信息冗余...或
  • 竞争格局,消费者

...也不这些满足示例模型A中的要求。

什么是正确方法?

我的问题是,有谁知道支持我描述的模型的JMS实现?

我扫描了所有的stackoverflow帖子标题进行搜索:JMS和Cluster。我发现这两个信息,但看似矛盾的帖子:

  1. 说示例模型A是/应待隐含支持: JMS consumer with ActiveMQ network of brokers “这意味着你选择一个经纪人,连接到它,并让经纪人网络在他们自己之间进行整理。理论上。“

  2. 说,示例模型A未支载: How does a JMS Topic Subscriber in a clustered application server recieve messages? “所有的不同的应用服务器上运行PropertiesSubscriber将得到该消息的情况下。”

任何建议将不胜感激。

非常感谢您阅读我的文章,

基因

回答

0

的WebSphere MQ满足这一要求的前提条件是:

  • 两个队列管理器正在参与WebSphere MQ集群;
  • 并且消息主题要么通告给群集要么是通告给群集的主题的子主题。

假设满足这些要求,这些出版物仅流向有活动订阅的QMgrs。此外,可以管理性地指定发布的范围。请注意,这适用于正在发布或订阅的主题,而不适用于消息属性。 QMgr将根据属性在本地过滤消息,但按属性路由是WebSphere Message Broker功能。 (在WebSphere家族,WMQ是基本传输其中WMB高于层,并提供转换,路由等)