🦜

マイクロサービスで複数サービスに散らかったデータを取得するには(API composition)

2023/03/19に公開

概要

マイクロサービスでは、各サービスでそれぞれDBを所有しています。
複数のサービスからデータを取得する際にはどのようにすればいいのか見ていきましょう。

下記の2つの手法が代表的ですが、今回はAPI compositionに焦点を当てます。

  1. API composition
  2. CQRS

API compositionパターン

1つのサービス(API Composer)が中心となって、複数のサービスからデータの取得と結合を行う手法。

API compositionの欠点

  1. オーバーヘッド(負荷)が増加する
    複数のサービスを呼び出し、各サービスでクエリを実行します。よって必要となる計算やネットワークリソースが増加します。
  2. 可用性が低下する
    複数のサービスを呼び出して、仮に一つのサービスが落ちてしまっていたら期待する結果が得られません。

参照

https://microservices.io/patterns/data/api-composition.html

Discussion