9

ServiceMix ソリューションをクラスター化する方法についての最初の指針を探しています。基本的に私が必要とするのは:

  • ルーティングのニーズに対応し、負荷を共有する ServiceMix インスタンスを 2 つ (またはそれ以上) 持つ
  • 1 つのインスタンスに障害が発生しても、他のインスタンスはサービスを継続します
  • 失敗した人が復活した場合、それはパーティーに参加します

情報を検索すると混乱する

  • 一部の参考文献 (例: http://trenaman.blogspot.fi/2010/04/four-things-you-need-to-know-about-new.html ) では、「JBI クラスター エンジン」について説明しています。私はJBIを使いたくありません。そのサポートは非​​推奨です。別の「Non-JBI クラスタ エンジン」があるのか​​、それとも何が起こっているのか...?
  • 「DOSGi」についての言及が多く見られます。クラスター化された ServiceMix を実現したい場合、私の単純な頭を心配する必要がありますか?

私のソリューションには、JMS キューを使用して相互に通信するいくつかのバンドルが含まれる可能性があります。その場合、2 つの独立した ServiceMix インスタンス(お互いを認識していない) を使用する必要があります。それが最も簡単な選択肢ではないでしょうか。フェイルオーバー構成 ( http://servicemix.apache.org/docs/4.5.x/users-guide/failover.html )のサポートがいくつか見られますが、実際にはどのような利点がありますか (何か不足していますか)? また、このフェイルオーバー構成は、1 つのインスタンスだけが要求を処理するため、負荷分散には役立ちません。

4

3 に答える 3

5

一見すると、フェイルオーバーを特に構成せずに並行して実行する 2 つの ServiceMix インスタンスだけが必要です。インスタンスのクラスターが必要な場合は、フェールオーバーがあり、サービスが要求するのは 1 つだけです。

JBI のことは無視してください。これはレガシーです。分散型 OSGi は、あなたが説明したユース ケースでは厄介者です。

boday が示唆するように、Cellar は、Karaf/ServiceMix インスタンスの論理グループ全体でバンドルのインストールを均一に管理するために使用されるため、各インスタンスに手動で新しいバージョンをインストールするのではなく、1 つの場所からそれらを管理できます。

于 2013-06-05T10:32:38.040 に答える
2

Fabric8 ( http://fabric8.io/ ) は、Karaf/ServiceMix クラスタリングなどをすぐに実行できます。また、マスター エンドポイントやファブリック エンドポイントなどのクラスター化された Camel コンポーネントも追加されています。

クラスター化されたキャメルの例があり、それを示しています

原理は次の図に示されています。

ここに画像の説明を入力

于 2014-09-03T08:04:40.733 に答える