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?
Antworten:
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.
quelle
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:
Nutzungsbeschränkungen vor Ort:
quelle