APIアーキテクチャ
HTTP上のRESTは、キャッシュが可能で広く理解されており、ゲートウェイで保護しやすいため、公開APIやパートナー向けAPIに適しています。GraphQLは、相互に関連するドメインに対して多様なデータ要件を持つクライアントに適し、gRPCは、厳密なコントラクト、ストリーミング、低オーバーヘッドが求められる内部のサービス間呼び出しに適しています。コントラクトはOpenAPIまたはProtocol Buffersで先に記述し、破壊的変更はCIで検出します。
- OpenAPIコントラクトによるREST
- Persisted Queryと複雑度制限を備えたGraphQL
- gRPCとProtocol Buffers
- APIゲートウェイとリクエストルーティング
- カーソルベースのページネーション
- 追加のみによるバージョニングと非推奨化ポリシー
- 署名付きペイロードによるWebhook
