API管理ソリューション[終了]


9

私は現在APIを構築しており、(GUIで)監視してレート制限の使用を可能にするツールを探しています。私はいくつかのエンタープライズソリューションに出くわしました。

Apigeeエンタープライズプランはまさに私が探しているものですが、プランは月額3000ドルから始まり、これは私の価格帯を超えています。他のソリューションはすべて高すぎるか、私が探しているソリューションを提供していません。

これにより、以下を含むいくつかのオープンソースオプションを検討するようになりました。

ワニスはかなり完全なソリューションのようです。ただし、データを視覚化するGUIを構築する必要があります。

私の最後のオプションは、EventMachineとrubyを使用してゼロからソリューションを構築することです。

何かアドバイス?


1
マイク。私はApi Axleの開発者です。統計の視覚化はありませんが、Axleには、比較的簡単に作成できるAPIが付属しています。助けてくれると思ったら、pingを送信してください。
フィルジャクソン

2
私はそれをテストしていませんが、nginxをredisと一緒に使用し、この種のアルゴリズムを実装することについてはどうですかchris6f.com/rate-limited-with-redis
hellvinz

回答:


3

これがどれほど難しいか、あなたは過大評価していると思います。

コードには、redis / memcached / mongodb(必要に応じて1/24時間カウンターまたは毎時/毎日カウンター)を備えたカウンターがあり、制限に達したときに適切なエラーを返します。ここでカウントを増やすか、ログを処理するときに非同期で増やすことができます。

データを表示するには、必要に応じてカウントを要約する単純なWebページを作成します。

私たちが使用する場合、厳密に制限する必要はないので、通常はログインフラストラクチャを介してログを記録するだけで、(リアルタイムからスクライブまでの)ログプロセッサの1つがこのようなことを要約します。出力は、ビジーなIP /クライアント、nagiosが監視できるページ、およびmuninがデータを取得してグラフを作成するURLを含む単純なHTMLページです。


1

nginxでnaxsiを使用できます。/ requestDeniedロケーションを必要な制限ルールでオーバーライドするだけです。

naxsiリダイレクトパラメータを対応する制限にマップします。

map $arg_uri $limit_uri {
  123.php   limit_zone1;
  234.php   limit_zone2;
default limit_default;
}

場所での使用制限:

 location /RequestDenied {
     proxy_pass http://127.0.0.1:4242;
     limit_req $limit_uri;
   }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.