首頁 > 後端開發 > Golang > 主體

API限速伺服器

Patricia Arquette
發布: 2024-11-06 05:54:02
原創
248 人瀏覽過

API Rate Limiting Server

專案實作了一個具有速率限制的 HTTP 伺服器。它確保每秒處理的請求數不超過 5 個。

目錄

  • 簡介
  • 特點
  • Github 連結
  • 安裝
  • 端點
  • 用法
  • 測試
  • 許可證

介紹

API速率限制伺服器限制每秒的請求數量,以防止濫用並有效管理伺服器負載。它提供詳細的日誌記錄和健康檢查端點來監控伺服器狀態。

特徵

  • 速率限制為每秒 5 個請求
  • 用於監控伺服器狀態的健康檢查端點
  • 詳細的請求記錄

GitHub 連結

https://github.com/surajupadhaya/Simple-API-RateLimit
登入後複製

安裝

1. Clone the repository:

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


2. Install dependencies:
   #go mod tidy

登入後複製

端點

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".
登入後複製

用法

1. Run the API rate limiting server:
   #go run main.go
2. Access the server:
   #curl -w %{http_code}http://localhost:8080 
登入後複製

測試

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)



登入後複製

執照

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. ?
登入後複製

以上是API限速伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!