2012-05-29 8 views
9

私は、任意のフォームのノードへの呼び出しセット全体でプログラム的な負荷分散を可能にするオープンソースライブラリを探しています。つまり、HTTPやその他のものについての仮定はなく、オブジェクトに対するメソッド呼び出しだけです。ノードへの呼び出しが呼び出した場合に例外 Java用のオープンソース抽象ロードバランシングライブラリはありますか?

  • が「壊れた」状態にノードを移動スロー

    • 異なるノード上の負荷均等
    • 再試行残高:理想的には、次の機能を提供します
    • 壊れたものを復帰させてアクティブな状態に復元し、アクティブな状態に戻すときに積極的にアクティブな状態に戻す(壊れた状態でアクティブな)すべてのノードに対してバックグラウンドpingを実行する仕組みがあります失敗

    私はこれが既に存在すべきだと感じていますが、何人かのグーグルはそれをまだ見つけていません。

  • +0

    これは通常、F5またはエースを使用してハードウェアで実行されます。 – duffymo

    +0

    この場合は実用的ではないと思います。リモートノードへの直接TCP/IPソケット接続を行い、F5やエースは存在しない既存のAPIを使用しています。複数のノードがあり、フェールオーバーなどを処理する必要があります。最も簡単なソリューションはソフトウェアロードバランサです。 –

    答えて

    4

    Apache Camelライブラリの使用を検討してください。柔軟なload balancerがあり、ライブラリにはさまざまなコンポーネントがあるため、特定のプロトコルやサービスの実装に固執しません。 Camel Beanコンポーネントを使用すると、POJOメソッド呼び出しであってもロードバランスが取れます。

    +0

    素晴らしい、ありがとう - ちょうど私が探していたもの。 –

    1

    また、JavaSpacesを見ることもできます。パラダイムには単純なキューがあります。最もアクティブでないプロセッサは、キュー上の次の項目を取る可能性が最も高い。

    関連する問題