Pau*_*ell 17 activemq-classic apache-camel apache-servicemix
我正在学习ActiveMQ和Camel,目标是创建一个像这样工作的小原型系统:
alt text http://www.paulstovell.com/get/stackoverflow-questions/Queues.png(big )
当订单放入订单系统时,会向任何订户(发布/订阅系统)发送消息,他们可以在处理订单时发挥作用.该订单,航运和进销存应用程序都有自己的ActiveMQ安装,因此,如果任何三个系统都处于离线状态,其他人可以继续工作.有些东西负责在ActiveMQ安装之间移动消息.
如果Apache Camel位于同一个ActiveMQ实例上,那么让Apache Camel通过路由将消息从一个队列移动到另一个队列非常容易.所以这适用于管理订阅队列.
接下来的挑战是将消息从一个ActiveMQ实例推送到另一个实例,这就是我不确定接下来要看什么的位置.
bsn*_*der 20
这是一个非常简单的异步,事件驱动的应用程序,非常适合ActiveMQ和Camel.
实际上,您不会将消息从一个ActiveMQ实例显式移动到另一个ActiveMQ实例.它的工作方式是使用所谓的经纪人网络.在你的情况下,你有三个经纪人:ActiveMQ-purple,ActiveMQ-green和ActiveMQ-blue.ActiveMQ-purple使用ActiveMQ-green和ActiveMQ-blue创建单向代理网络.这允许ActiveMQ-purple根据消费者需求将消息存储和转发到ActiveMQ-green和ActiveMQ-blue.
订单应用程序接受ActiveMQ-purple上的订单队列上的订单.Orders应用程序使用Camel来使用和处理消息,以确定它是发票消息还是发货消息.Camel将消息路由到ActiveMQ-purple上的开票队列或送货队列.
消费者需求来自Invoicing应用程序和Shipping应用程序.Invoicing使用Camel消耗来自ActiveMQ-green上的发票队列的消息.Shipping应用程序使用Camel来消耗ActiveMQ-blue上的发货队列中的消息.由于代理网络以及ActiveMQ-green.invoicing队列和ActiveMQ-blue.shipping队列的消费者需求,消息将从ActiveMQ-purple转发到适当的代理和队列.无需将消息显式路由到特定代理.
我希望这回答了你的问题.如果你有,请告诉我.
布鲁斯
| 归档时间: |
|
| 查看次数: |
5867 次 |
| 最近记录: |