私はActiveMQとCamelを学習している最中であり、次のような動作をする小さなプロトタイプシステムを作成することを目標としています。
(出典:paulstovell.com)
Ordersシステムで注文が行われると、すべてのサブスクライバー(pub / subシステム)にメッセージが送信され、サブスクライバーは注文の処理に関与できます。Orders、Shipping、およびInvoicingアプリケーションには独自のActiveMQがインストールされているため、3つのシステムのいずれかがオフラインの場合でも、他のシステムは引き続き機能します。ActiveMQインストール間でのメッセージの移動は何かが処理します。
メッセージが同じActiveMQインスタンス上にある場合、ApacheCamelでメッセージをあるキューから別のキューにルート経由で移動するのは非常に簡単です。したがって、これはサブスクリプションキューを管理するために機能します。
次の課題は、あるActiveMQインスタンスから別のインスタンスにメッセージをプッシュすることです。これは、次に何を見るべきかわからない部分です。
- Camelは異なるActiveMQインストール間をルーティングできますか?(異なるマシン上にある場合、JMIエンドポイントURIがどうなるかわかりません)。
- ActiveMQにはストアアンドフォワード機能があることを理解しています。これは、注文と配送/請求の間でメッセージを移動するために使用するものですか?
- それとも、これはApache ServiceMixが解決することを意図しているものですか?