0

次の要件を持つプロジェクトに取り組んでいます。

  1. 複数のバックエンド サーバーに対して (SOAP セッション ID に基づいて) スティッキー ベースの負荷分散を実行します。
  2. 独自のカスタム ベースのロード バランサーをプラグインする可能性。
  3. 簡単に作成してデプロイできます。
  4. すべてのバックエンド サーバーを処理するための中央構成ファイル (おそらく XML)。
  5. この構成ファイルからノードを簡単に抽出できます (おそらく xpath を使用)。

しばらくキャメルで作業してみましたが、特定のタスクを実行できませんでした。そこで、Akka を試してみることにしました。akka は上記の要件を満たすことができるでしょうか?

もしそうなら、akka または proxy の例に負荷分散の例はありますか?

フィードバックをいただければ幸いです。

4

1 に答える 1

2

説明したことはすべて Akka で実行できます。

Scala と Java のどちらの言語を使用しているかについては触れていません。Scala ドキュメントへのリンクを含めました。

Akka を使用する前に、ドキュメントを読み、Akka がどのように機能するかを理解する必要があります。

http://doc.akka.io/docs/akka/2.0.3/

そうすることで、Akka があなたが説明したプロジェクトに最適であることがわかりますが、いくつかの注意点があります。

ドキュメントを読んだら、次の回答は非常に理にかなっています。

複数のバックエンド サーバーに対して (SOAP セッション ID に基づいて) スティッキー ベースの負荷分散を実行します。

ロード バランシングはすでにフレームワークの一部です (Akka では Routing http://doc.akka.io/docs/akka/2.0.3/scala/routing.htmlと呼ばれます) および Remoting (http://doc.akka.io) /docs/akka/2.0.3/scala/remoting.html) がバックエンド サーバーを処理します。2つを簡単に組み合わせることができます。

私の知る限り、スティッキー ロード バランシングのアイデアは Akka の一部ではありませんが、セッション ID をキーとして使用し、アクター名 (またはパス) を値として使用する Map でこれを実現できると想像できます。クイック アクターFor が残りの処理を行います。よく考えられていませんが、どこから始めればよいかについての良いアイデアが得られるはずです。

独自のカスタム ベースのロード バランサーをプラグインする可能性。

ルーティングのドキュメントを参照してください。

簡単に作成してデプロイできます。

これはあなたの適性と努力次第ですが、ドキュメントの特定の部分を読んだら、数時間で概念実証を構築できるはずです。

リモート コンポーネントを使用した Akka ネットワークのデプロイに関してドキュメントがあまり優れていないため、デプロイは少しイライラする可能性があります。ただし、ウェブ上には、それを実行する方法を理解できる十分な例があります...最終的には。一度やれば大したことない。

すべてのバックエンド サーバーを処理するための中央構成ファイル (おそらく XML)。

Akka は Typesafe Config (https://github.com/typesafehub/config) を使用しますが、これは XML よりもはるかに簡単に操作できます (ただし、私は XML が嫌いなので、それは大目に見てください)。中央の構成に関しては、何を達成しようとしているのかわかりませんが、リモート アクターの作成を使用して解決できるもののように思えます。繰り返しますが、リモーティングのドキュメントを参照してください。

この構成ファイルからノードを簡単に抽出できます (おそらく xpath を使用)。

Akka はルックアップ メソッド .actorFor を提供します。システムが起動して実行されたら、構成ファイルに移動する必要はありません。

もしそうなら、akka または proxy の例に負荷分散の例はありますか?

グーグルはあなたの友達です。

于 2012-09-24T13:54:50.730 に答える