3

特定の API を使用するために、離れたサーバーに接続するこの Play アプリがあります。離れたサーバーへのリクエストの負荷を分散するために、複数のアカウントを同じサーバーに接続しています。各アカウントは、指定された回数だけ API をクエリできます。各アカウントは Akka アクターによって処理され、これらのアクターは Akka ラウンド ロビン ルーターの背後にあります。したがって、リモート API を使用したい場合は、必要な情報を RR ルーターに「問い合わせ」ます。

この実装は、1 つのアカウントが切断されるまで問題なく動作します。基本的に、1 つのアカウントが切断されると、アクターは「接続に問題がありました」という特定のオブジェクトを返します。次に、RR ルーターに 2 番目のリクエストを再度送信して、別のアカウントで処理させます。

私の質問は、「再試行」ロジックを router-routee グループの外側に置く代わりに、内部で行う方法はありますか? たとえば、ルーターレベルで、これらの「接続に問題がありました」というメッセージを処理するロジックを定義して、処理される次のルートにリクエストを自動的に転送し、すべてのルートが処理されたら最終応答を返すことを考えています。試してみましたが、どれもうまくいきませんでしたか?

Akka はこれを達成するための簡単な方法を提供していますか、それとも実装を続行する必要がありますか?

4

1 に答える 1