私のWebアプリケーションには、RESTfulサービスを介してクライアントモジュールに応答するサーバーモジュールがいくつかあります。
ここでユースケースを挙げましょう。サーバーモジュールのインスタンスがさまざまなユーザーのツイートを管理する責任を処理するソーシャルネットワークを構築しているとします。
これらの各サーバーは、さまざまなデータセットの要求を処理します。たとえば、Server1はユーザーU1、U2とU3のツイートを提供し、Server2はユーザーU4とU5に、Server3はユーザーU6、U7とU8にサービスを提供します。これらのサーバーの実装は同じですが、処理するユーザーデータのみが異なります。この構成は実行時にも変更される可能性があります。つまり、特定のユーザーのツイートのデータを処理する責任は、サーバーごとに変わる可能性があります。
ここで、クライアントモジュールがユーザーU3のデータを必要としているとします。どのサーバーに接続する必要があるかを(実行時に)どのように決定するか。
基本的に、この種の動的なサービスの登録と検出を実装するためのさまざまな方法は何ですか?これはリアルタイムアプリケーションであるため、クライアントモジュールによるサービス検出結果をキャッシュして、各要求でのサービス検出のためのネットワークホップを保存することが望ましいです。
この機能を提供するのに役立つ既存のオープンソースソリューションはありますか、それとも自分で実装する必要がありますか?