151

マイクロサービス アーキテクチャに対処するために、リバース プロキシ (nginx や apache httpd など) と一緒に使用されることが多く、横断的な懸念事項の実装に は API ゲートウェイ パターンが使用されます。リバース プロキシが API ゲートウェイの作業を行う場合があります。

これら 2 つのアプローチの明確な違いを確認できれば幸いです。API ゲートウェイを使用する潜在的な利点は、複数のマイクロサービスを呼び出して結果を集計することです。API ゲートウェイの他のすべての責任は、リバース プロキシを使用して実装できます。そのような:

  • 認証 (nginx LUA スクリプトを使用して実行できます);
  • 輸送のセキュリティ。それ自体がリバース プロキシ タスクです。
  • 負荷分散
  • ...

したがって、これに基づいていくつかの質問があります。

  1. API ゲートウェイとリバース プロキシを同時に使用することは理にかなっていますか (たとえば、リクエスト -> API ゲートウェイ -> リバース プロキシ (nginx) -> 具体的なマイクロサービス)? どのような場合に?
  2. API ゲートウェイを使用して実装でき、リバース プロキシでは実装できない、またはその逆の他の違いは何ですか?
4

4 に答える 4

127

それらが相互に排他的ではないことがわかっている場合、それらについて考えるのは簡単です. API ゲートウェイは、特定のタイプのリバース プロキシの実装と考えてください。

あなたの質問に関しては、API ゲートウェイが、ロード バランシングとヘルス チェックのためにリバース プロキシの背後にあるアプリケーション層として扱われる場合に、両方を組み合わせて使用​​することは珍しくありません。例としては、Web アプリケーション ファイアウォール/API ゲートウェイがリバース プロキシ層 (1 つは WAF 自体用、もう 1 つはそれが通信する個々のマイクロサービス用) に挟まれている WAF サンドイッチ アーキテクチャのようなものです。

違いに関しては、それらは非常に似ています。ただの命名法です。基本的なリバース プロキシ セットアップを使用して、認証、レート制限、動的構成更新、サービス ディスカバリなどの要素を追加し始めると、人々はそれを API ゲートウェイと呼ぶ可能性が高くなります。

于 2016-05-17T01:04:25.937 に答える
3

API ゲートウェイはリバース プロキシとして機能し、すべてのアプリケーション プログラミング インターフェイス (API) 呼び出しを受け入れ、それらを実行するために必要なさまざまなサービスを集約し、適切な結果を返します。

API ゲートウェイには、API プロキシよりも堅牢な一連の機能 (特にセキュリティと監視に関する) があります。Backend for frontend (BFF)とも呼ばれる API ゲートウェイ パターンは、マイクロサービス開発で広く使用されていると言えます。マイクロサービスの世界におけるAPI ゲートウェイ パターンの利点と機能については、記事をご覧ください。

一方、API プロキシは基本的に軽量の API ゲートウェイです。これには、いくつかの基本的なセキュリティおよび監視機能が含まれています。そのため、すでに API があり、ニーズが単純な場合は、API プロキシが適切に機能します。

以下の画像は、API ゲートウェイとリバース プロキシの違いを明確に示しています。

ここに画像の説明を入力

于 2021-08-15T07:19:37.007 に答える