API Management Solutions [geschlossen]

9

Ich erstelle derzeit eine API und suche nach einem Tool, mit dem ich die Verwendung (in einer GUI) und die Verwendung von Ratenlimits überwachen kann. Ich bin auf einige Unternehmenslösungen gestoßen, darunter:

Der Apigee-Unternehmensplan ist genau das, wonach ich suche, aber die Pläne beginnen bei 3000 USD / Monat, was außerhalb meiner Preisspanne liegt. Die anderen Lösungen sind entweder zu teuer oder bieten nicht die Lösung, nach der ich suche.

Dies veranlasste mich, einige Open-Source-Optionen zu prüfen, darunter:

Lack scheint eine ziemlich vollständige Lösung zu sein; Ich müsste jedoch eine GUI erstellen, um die Daten zu visualisieren.

Meine letzte Option wäre, eine Lösung von Grund auf mit EventMachine und Ruby zu erstellen.

Irgendein Rat?

Mike
quelle
1
Mike. Ich bin der Entwickler von Api Axle. Es gibt keine Visualisierung von Statistiken, aber Axle wird mit einer API geliefert, die es relativ einfach machen sollte, eine zu erstellen. Pingen Sie mich an, wenn Sie glauben, ich kann Ihnen helfen.
Phil Jackson
2
Ich habe es nicht getestet, aber was ist mit der Verwendung von Nginx
hellvinz

Antworten:

3

Ich denke, Sie überschätzen, wie schwer das ist.

In Ihrem Code haben Sie einfach einen Zähler mit redis / memcached / mongodb (1/24 Stundenzähler oder Stunden- / Tageszähler, je nach Ihren Anforderungen) und geben den entsprechenden Fehler zurück, wenn das Limit erreicht wurde. Sie können die Anzahl entweder direkt dort erhöhen oder dies asynchron tun, wenn Sie Ihre Protokolle verarbeiten.

Erstellen Sie zum Anzeigen der Daten einfach eine einfache Webseite, auf der die Anzahl nach Bedarf zusammengefasst wird.

Für unsere Verwendung müssen wir die Dinge nicht genau einschränken, daher protokollieren wir im Allgemeinen nur über unsere Protokollinfrastruktur, und einer der Protokollprozessoren (in Echtzeit durch Schreiber) fasst diese Art von Dingen zusammen. Die Ausgabe ist eine einfache HTML-Seite mit den ausgelasteten IPs / Clients, einer Seite, die Nagios überwachen kann, und einigen URLs, von denen Munin Daten abruft, um Diagramme zu erstellen.

Fragen Sie Bjørn Hansen
quelle
1

Sie können naxsi mit nginx verwenden. Überschreiben Sie einfach Ihren / requestDenied-Standort mit den von Ihnen benötigten Limit-Regeln:

Ordnen Sie die Naxsi-Umleitungsparameter dem entsprechenden Grenzwert zu:

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

Nutzungsbeschränkungen vor Ort:

 location /RequestDenied {
     proxy_pass http://127.0.0.1:4242;
     limit_req $limit_uri;
   }
DukeLion
quelle