マイクロサービスアーキテクチャアプリケーションがあります。サービスの1つには、すべてのユーザー関連情報が含まれています。別のサービスには、ビジネスオブジェクトのセットが含まれています。 Angular UIは、user-serviceおよびbusiness-serviceのREST APIを呼び出して、ユーザー管理、ビジネス管理などの操作を実行します。business-serviceのテーブルには、所有者などのuser-serviceからのユーザーIDが含まれていますこれらは異なるデータベースであるため、参照制約はありません。
UIにビジネスオブジェクトのリストを表示したい。所有者の名で結果をフィルタリングできるようにしたい。ビジネスサービスは、ユーザーID以外のユーザーの詳細を認識しないことに注意してください。
複数のサービスに属するデータを照会する最良の方法は何ですか?
いくつかのオプションを念頭に置いて
どちらのソリューションもクリーンではないようです...
私は通常、各フロントエンドアプリのニーズに対応するための専用のサービスを持っています。このサービスは、フロントエンドに代わってバックエンドを持ち上げます。これにはいくつかの長所があります。
まず、ユーザーの名に一致するユーザーIDのリストを取得します。これらのIDをビジネスサービスに渡して、フィルタリングを実行することでビジネスオブジェクトのリストを取得します。
このアプローチをお勧めします。 「フロントエンドサービス」にユーザーサービスにリクエストを送信してすべてのユーザーを名前で取得し、IDを抽出して、ビジネスサービスにリクエストを送信してユーザーIDでビジネスオブジェクトを取得します。これらの2つの要求を容易にするために、サービスにエンドポイントを実装する必要があります。 nリクエストを行っている場合、それは間違っています。