第31章 マスター
コンシューマーのみがサポートされている
Camel-Master エンドポイントは、クラスター内の単一のコンシューマーのみが特定のエンドポイントから消費するようにする方法を提供します。その JVM が停止した場合の自動フェイルオーバー。
これは、同時消費をサポートしていないレガシーバックエンドから消費する必要がある場合、または商業的または安定性の理由により、任意の時点で 1 つの接続しか持てない場合に非常に役立ちます。
31.1. マスターエンドポイントの使用
camel エンドポイントの前に master:someName: を付けるだけです。ここで、someName は論理名であり、マスターロックを取得するために使用されます。例えば
from("master:cheese:jms:foo").to("activemq:wine");
この例では、マスターコンポーネントによって、ルートがクラスター内の任意の時点で 1 つのノードでのみアクティブになることが保証されます。したがって、クラスターに 8 つのノードがある場合、マスターコンポーネントは 1 つのルートをリーダーとして選択し、このルートのみがアクティブになるため、このルートのみが jms:foo
からのメッセージを消費します。このルートが停止または予期せず終了した場合、マスターコンポーネントはこれを検出し、アクティブになる別のノードを再選択します。その後、アクティブになり、jms:foo
からのメッセージの消費を開始します。
Apache ActiveMQ 5.x には、Exclusive Consumers と呼ばれるすぐに使える機能があります。