Heim > Backend-Entwicklung > Golang > API-Ratenbegrenzungsserver

API-Ratenbegrenzungsserver

Patricia Arquette
Freigeben: 2024-11-06 05:54:02
Original
337 Leute haben es durchsucht

API Rate Limiting Server

Dieses Projekt implementiert einen HTTP-Server mit Ratenbegrenzung. Es stellt sicher, dass nicht mehr als 5 Anfragen pro Sekunde verarbeitet werden können.

Inhaltsverzeichnis

  • Einführung
  • Funktionen
  • Github-Link
  • Installation
  • Endpunkte
  • Verwendung
  • Testen
  • Lizenz

Einführung

Der API-Ratenbegrenzungsserver begrenzt die Anzahl der Anfragen pro Sekunde, um Missbrauch zu verhindern und die Serverlast effektiv zu verwalten. Es bietet detaillierte Protokollierung und Zustandsprüfung von Endpunkten zur Überwachung des Serverstatus.

Merkmale

  • Ratenbegrenzung auf 5 Anfragen pro Sekunde
  • Gesundheitsprüfungsendpunkt zur Überwachung des Serverstatus
  • Detaillierte Anfrageprotokollierung

Github-Link

https://github.com/surajupadhaya/Simple-API-RateLimit
Nach dem Login kopieren

Installation

1. Clone the repository:

   #git clone https://github.com/surajupadhaya/Simple-API-RateLimit
   #cd Simple-API-RateLimit


2. Install dependencies:
   #go mod tidy

Nach dem Login kopieren

Endpunkte

1. /: Default route returns a "stupid request" message with status 400.

2. /healthcheck: Endpoint to check the health status of the server. Returns "Health Passed" if the /healthcheck file exists, otherwise "Health Failed".

3. /api/v1/product: Example endpoint for the product API. Returns "This is a Product API" if the /api/v1/product file exists, otherwise "There is no Product API".
Nach dem Login kopieren

Verwendung

1. Run the API rate limiting server:
   #go run main.go
2. Access the server:
   #curl -w %{http_code}http://localhost:8080 
Nach dem Login kopieren

Prüfen

1. Run Httperf tool to test the rate limiting 
Below httperf command is sending 6 connection parallelly in one sec 
Out of 6 only 1 will receive 503 code (due to throttling) remaining will receive based on behavior 
#httperf --server localhost --port 8080 --uri /healthcheck --num-conns 6

Sample output :

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/842aqi7lmzqw7sa1mcs1.png)



Nach dem Login kopieren

Lizenz

This project is licensed under the MIT License. See the LICENSE file for details.

This `README.md` should cover the current state of your project, focusing on the API rate limiting aspect. Ready to roll? ?


This should cover everything your project entails. You can add, modify, or remove sections as needed. ?
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAPI-Ratenbegrenzungsserver. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage