web-dev-qa-db-ja.com

どのAPIGatewayが本番環境に対応しており、優れたパフォーマンスと機能を提供しますか?

インフラストラクチャ内には多くのRESTサービスがあり、これらはさまざまなテクノロジー(Java、Go、Ruby、NodeJS)を使用して構築されていますが、すべてに認証、承認、レート制限、分析などの特定の共通要件がありますなど、これらのAPIの前にAPIゲートウェイを配置して、すべての通信がそれを介してのみ行われるようにすることを考えています。 Strongloop/Loopback 、-のような市場のいくつかのオープンソース製品について知りました。 WSO2[〜#〜] tyk [〜#〜][〜#〜] apiaxle [〜#〜]scale しかし、これらのほとんどは、テスト済みで本番環境で使用する準備ができているようには見えません。今、頭に浮かぶことはほとんどありません。

  1. これらのソリューションのいずれかを使用した後のユーザーフィードバックはどうですか?
  2. 多くの人がこの種の機能を必要とするので、彼らはそれをどのように行っていますか?私は正しい方向を見ていますか?
  3. API Gatewayを使用せずに問題を解決するためのより良い方法はありますか?
17
ThinkFloyd

私はそこで働いているので、3scaleに答えることができます。

3scaleは完全な API管理プラットフォーム であり、APIの承認、レート制限、分析を実装します。さまざまな統合オプションを提供していますが、その中で最も人気のあるのはAPIゲートウェイであり、これは当社がホストすることも、オンプレミスに展開することもできます。

これは、APIサーバーの前にデプロイされ、3scaleAPIに到達することで着信呼び出しを承認するNginxベースのゲートウェイです。ゲートウェイは、着信コールと呼び出されているエンドポイントのAPIキーを抽出し、この特定のリクエストを承認する必要があるかどうかを確認します(つまり、有効なキー、制限内での使用、有効なエンドポイントなど)。

APIゲートウェイの重要な部分の1つは、承認が非同期で実行されるため、APIユーザーが認識するレイテンシに影響を与えないことです。

あなたの特定の質問に関して:

  1. 3scaleを本番環境で使用している600のお客様がいます。これには、トラフィック量が非常に多いAPIが含まれ、その一部は ここ について確認および読むことができます。

  2. 主な選択は、API管理プラットフォームを使用するか、これらの機能を自分で実装するかです。 3scaleのようなものを使用する利点は、まさにこの問題に特化し、基本認証とレート制限に加えて、他の非常に便利な機能を提供することです。APIユーザーがキーを登録および管理できる、私たちがホストする開発者ポータル、課金システムAPIの有料プランの提供、OAuth2などの高度な認証パターンのサポートなど、当社のWebサイトで読むことができるものを提供するために使用できます。

  3. APIの3scaleを当社のソフトウェアライブラリの1つと統合することもできます。ただし、異なる言語で記述された複数のAPIがあるため、統合ポイントが1つしかないため、APIゲートウェイをお勧めします(したがって、保守が容易です)。

いつものように、自分でテストするのが最善です。時間制限のない無料プランをご用意しておりますので、そちらからご利用いただけます。

1
vdg

WSO2 API Managerについて言及すると、

  1. 私が知っているように、多くの人々がそれを本番環境で使用していて、それについて良いフィードバックを提供しています。

  2. はい。 APIManagerを使用してレート制限を行うことができます。 API Managerには、スロットル層と呼ばれる機能があります。その機能をレート制限に使用できます。認証や承認などの他の機能については、API Managerを WSO2 IDサーバー で使用する必要があります。分析機能の場合、API Manager WSO2 Business Activity Monitor を使用する必要があります。これらすべての製品を統合することで、前述の機能を実現できます。

1
lakshman