ほとんどのAPI Gatewayソリューションで「集計」がサポートされないのはなぜですか?


15

API Gatewayについて読むと、毎回出てくるものの1つは、API Gatewayが複数のエンドポイントからの結果を集約する場所であるということです。それは本当にいいですね。ただし、AWS API Gateway、Kongo、Netflix Zuulなどの多くの一般的なAPI Gatewayソリューションは、このような機能をサポートしていません。ハックするか、カスタムフィルターを自分で実装する必要があります。

集約は悪い習慣と見なされていますか?複数のエンドポイントから結果を返す方法

回答:


10

この質問に答えられる方法は複数あります。

エンドポイントの集約

API Gatewayは、他のエンドポイントをほとんど集約しますが、必ずしも結果は集約しません。つまり、認証やルーティングなどの追加機能を備えた他のエンドポイントをミラーリングする単一のサーバーです。

ポイントは、一部のサービスを集中化すること、実際のサーバーを外部ネットワークから隠すことなどです。

結果の集約

Gatewayでビジネスロジックを使用したり、異なるドキュメントを別のドキュメントにまとめたり、要求や応答を変更したりする場合は、Enterprise Service Busを検討している可能性があります。

集約が良いかどうか

これはもちろん議論の余地があり、個々の意見次第です。SOA / ESBタイプのソリューションから(ほとんど)離れた理由があると主張するかもしれません。これは、個々の責任が明確ではなく、ESB側で収集する傾向があり、エンドポイントが「ダム」のままになるためです。最終的に、ESBはすべてを認識します。

「REST」アプローチは異なります。「スマート」エンドポイント上に構築され、その部分を認識し、他のコンポーネントが詳細を知る必要がないことを確認します。この考え自体は、応答についてGatewayにもっと知らせることと対立しているようです。

実際、クライアントが必要とする機能は特定のエンドポイントで完全にカバーれるべきであるという考えに基づいた、自己完結型システムなどのアーキテクチャの考えがいくつかあります。自身の責任範囲内で要求を満たすために、他のユーザーとの同期通信を必要とすべきではありません。これは、結果の集計が逆効果になる可能性があることも示唆しています。

いつものように、それはすべて正確な要件に依存します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.