1

負荷分散と可用性のためのサービス クラスタリング/分散の側面に対処する既存のミドルウェア ソリューションを探しています。メッセージング システム (より具体的には JMS) に基づいて、このための独自のインフラストラクチャを構築することを検討しています。ただし、可能であれば、既存のものを使用したいと思います。

システムには、多数のコンピューターでさまざまなサービスを実行する機能が必要です。サービスの説明に基づいて、システムはクラスター内で開始する特定のサービスのインスタンスの数を把握できる必要があります。保留中のサービス要求に基づいて、実行中のサービスの数を動的に調整する必要があります。サービスの監視と新しいバージョンのサービスの展開もシステムで処理する必要があります。

サービスとは、定義済みのインターフェイスを持つ「独立した機能単位」を意味します。クライアントはインターフェイスを知っているだけで、ミドルウェアは、インターフェイスを介して行われた着信要求に応答するために、サービスが十分な数のノードで実行されていることを確認する必要があります。

Javaとうまく統合できるものでなければなりません。一部のサービスはネイティブ コードとして実装されていますが、それらを Java ベースのサービスにラップする優れたソリューションがあります。

ICEMuleなどのいくつかのミドルウェア/ESB ソリューションを見てきましたが、上記で説明した動的負荷サービスのプロビジョニングの側面にうまく対応しているとは思えませんでした (あったとしても)。だから私は、ここの誰かが見てみることを勧めたいと思う他の何がそこにあるのだろうかと思っています...

4

1 に答える 1

1

OSGi について詳しく調べることをお勧めします。

  • ネットワーク全体でサービスをローミングできるかなり動的なモジュール システムを備えています。
  • 構築できる既存のオープンソース製品があります: Eclipse EquinoxVirgo、Apache FelixKarafKnopflerfishConciergeGlassfish 3など (比較)
  • リモート処理に関しては、OSGi 4.2 にはリモート サービス仕様があり、その実装がいくつかあります。さらに注目すべきは、ECFは、JMS を使用する場合 ( dzone の記事)のニーズを満たすことができる 1 つの実装のようです。

最後に、 Paremus Service Fabricを見てみましょう。説明からすると、構築しようとしているビーストに非常に似ているように思えます (ただし、JMS ではなくJINIを使用している点が異なります)。ひょっとすると、インスピレーションの源になるかもしれません。

また、以前は Newton と呼ばれるオープンソース バージョンもありましたが、関心がないために閉鎖されました。それはService Fabric Community Edition の名前で存続していたと言われましたが、現在、私は彼らの Web サイトでそれへの参照を見つけることができませんでした (ほとんどの場合、キャンセルされた可能性があります)。

最後に、インスピレーションを得るためのもう 1 つのプロジェクトがあります。Bundle-Bee - 透過的なグリッド分散 OSGi コンピューティングです。おそらく、他にも同様のプロジェクトが存在するでしょう。

于 2010-10-14T16:13:29.147 に答える