ホーム>source

ほとんどのeコマースWebサイトのように、代替製品を表示したいと考えています。この場合、複数のマイクロサービスからデータを取得する必要があります。

  • 製品 -すべての製品情報を保存します
  • 価格 -私たちの場合、価格は複雑で、ユーザーの場所やその他のパラメーターの影響を受けます。そのため、個別のマイクロサービスにしました。
  • レビュー -製品に関する評価とレビューを管理します。

最終製品は List<AlternateProduct> になります  画像、説明、5段階評価、多数のレビューが含まれます。

マイクロサービスアーキテクチャでは、複数のマイクロサービスからの応答を作成する適切な場所は何ですか?

アプローチ1

  • MVC/Rest APIがAPIGatewayに近づく
  • API Gatewayはすべてのマイクロサービスに対して非同期呼び出しを行います
  • 応答はMVC/WebAPIに返されます。応答の構成を実行できる場所。

アプローチ2

  • MVC/Rest APIがAPIGatewayに近づく
  • API GatewayはProductsマイクロサービスへの非同期呼び出しを行います。
  • 製品のマイクロサービスは他のマイクロサービスを呼び出して構成を実行し、 List<UlternateProduct> を返します

決めてください!

あなたの答え
  • 解決した方法 # 1

    この場合、私はアプローチ1 必要な製品のリストをダウンロードし、価格とレビューをダウンロードするために他の2つのリクエストを並行して実行することができます。

    3つすべての要求から応答を受け取った後、モデルを構築して返します。

    ゲートウェイAPIは、さまざまなサービスを呼び出して、返される必要のある結果を構築するのに十分スマートである必要があると思います。

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ ruby - `validates`はRailsのクラスメソッドまたはインスタンスメソッドですか?