10
GraphQLとマイクロサービスアーキテクチャ
マイクロサービスアーキテクチャ内でGraphQLを使用するのに最適な場所を理解しようとしています。 APIゲートウェイとして機能する1つのGraphQLスキーマのみを使用して、リクエストされたマイクロサービスにリクエストをプロキシし、そのレスポンスを強制することについては、いくつかの議論があります。マイクロサービスは依然として通信の考え方にREST / Thriftプロトコルを使用します。 代わりに、マイクロサービスごとに1つずつ、複数のGraphQLスキーマを使用する方法もあります。リクエストのすべての情報とGraphQLクエリを使用して、リクエストをターゲットのマイクロサービスにルーティングする小さなAPIゲートウェイサーバーを用意します。 最初のアプローチ 1つのGraphQLスキーマをAPIゲートウェイとして使用すると、マイクロサービスコントラクトの入出力を変更するたびに、それに応じてAPIゲートウェイ側でGraphQLスキーマを変更する必要があるという欠点があります。 2番目のアプローチ マイクロサービスごとに複数のGraphQLスキーマを使用する場合、GraphQLがスキーマ定義を適用し、コンシューマーはマイクロサービスから提供される入出力を尊重する必要があるため、ある意味で理にかなっています。 ご質問 GraphQLがマイクロサービスアーキテクチャの設計に適しているかどうか。 GraphQLを実装できるAPIゲートウェイをどのように設計しますか?