成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

架構必備:Rate limiting 的作用和常見方式

開發 架構
從最終用戶訪問安全的角度看,設想有人想暴力碰撞網站的用戶密碼;或者有人攻擊某個很耗費資源的接口;或者有人想從某個接口大量抓取數據。大部分人 都知道應該增加 Rate limiting,做請求頻率限制。

Rate limiting 在 Web 架構中非常重要,是互聯網架構可靠性保證重要的一個方面。

從最終用戶訪問安全的角度看,設想有人想暴力碰撞網站的用戶密碼;或者有人攻擊某個很耗費資源的接口;或者有人想從某個接口大量抓取數據。大部分人 都知道應該增加 Rate limiting,做請求頻率限制。從安全角度,這個可能也是大部分能想到,但不一定去做的薄弱環節。

從整個架構的穩定性角度看,一般 SOA 架構的每個接口的有限資源的情況下,所能提供的單位時間服務能力是有限的。假如超過服務能力,一般會造成整個接口服務停頓,或者應用 Crash,或者帶來連鎖反應,將延遲傳遞給服務調用方造成整個系統的服務能力喪失。有必要在服務能力超限的情況下 Fail Fast。

另外,根據排隊論,由于 API 接口服務具有延遲隨著請求量提升迅速提升的特點,為了保證 SLA 的低延遲,需要控制單位時間的請求量。這也是 Little’s law 所說的。

還有,公開 API 接口服務,Rate limiting 應該是一個必備的功能,否則公開的接口不知道哪一天就會被服務調用方有意無意的打垮。

所以,提供資源能夠支撐的服務,將過載請求快速拋棄對整個系統架構的穩定性非常重要。這就要求在應用層實現 Rate limiting 限制。

常見的 Rate limiting 的實現方式

Proxy 層的實現,針對部分 URL 或者 API 接口進行訪問頻率限制

Nginx 模塊

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

server {
    location /search/ {
        limit_req zone=one burst=5;
    }

詳細參見:ngx_http_limit_req_module

Haproxy 提供的功能

詳細參見:Haproxy Rate limit 模塊

Java、Scala JVM 系應用層實現

Google Guava 提供了一個 RateLimiter 實現。使用方式簡單明了,在自己的應用中簡單封裝即可,放到 HTTP 服務或者其他邏輯接口調用的前端。

 final RateLimiter rateLimiter = RateLimiter.create(2.0); // rate is "2 permits per second" void submitTasks(List<Runnable> tasks, Executor executor) { for (Runnable task : tasks) { rateLimiter.acquire(); // may wait executor.execute(task); } }

詳細參見:Google Guava RateLimiter

基于 Redis 功能的實現

這個在 Redis 官方文檔有非常詳細的實現。一般適用于所有類型的應用,比如 PHP、Python 等等。Redis 的實現方式可以支持分布式服務的訪問頻率的集中控制。Redis 的頻率限制實現方式還適用于在應用中無法狀態保存狀態的場景。

參見:Redis INCR rate limiter

責任編輯:王雪燕 來源: Bruce Dou的博客
相關推薦

2010-07-28 09:35:23

Flex加載圖片

2010-08-24 09:43:33

2018-11-07 09:01:13

Tomcat部署方式

2022-01-04 06:50:12

數據摘要方法

2010-02-23 10:37:32

Linux后端

2010-01-14 16:48:29

交換機故障

2023-12-01 07:24:40

軟件架構

2020-08-23 11:52:10

Docker容器技術

2010-09-07 09:33:20

2015-08-13 13:47:17

2020-06-09 08:11:33

MESI協議MM

2010-07-29 10:22:38

2024-04-16 11:46:51

C#Redis數據庫

2010-08-16 16:49:30

DIV CSS居中

2019-09-02 15:33:23

AI換臉人臉轉換深度學習

2021-02-03 12:47:09

Spring Boot應用監控

2024-11-07 11:17:50

2019-05-14 14:27:21

跨庫分頁分庫數據

2010-09-08 12:54:42

2022-05-23 11:35:16

jiekou冪等性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美二区三区 | 成人av看片 | 91成人 | 亚洲欧美一区二区三区在线 | 国产98色在线 | 日韩 | 成人欧美一区二区三区在线观看 | 婷婷综合激情 | 久久综合一区 | 正在播放国产精品 | 国产91精品久久久久久久网曝门 | 久久久一区二区三区 | 99久久精品国产麻豆演员表 | 日韩三级在线 | 成人3d动漫一区二区三区91 | 久久aⅴ乱码一区二区三区 91综合网 | 免费一级大片 | 欧洲亚洲一区 | 欧美一区二区三区一在线观看 | 日本粉嫩一区二区三区视频 | 日韩毛片免费视频 | 久久久久久国产精品免费免费男同 | 国产精品国产精品 | 九九热在线视频 | 亚洲欧美激情精品一区二区 | 亚洲一区二区三区四区五区中文 | 久久99国产精品 | 先锋资源站 | 日本色综合 | 婷婷成人在线 | 国产一区不卡 | 国产精品永久久久久久久www | 精品成人av | 91视视频在线观看入口直接观看 | 中文字幕一级 | 日韩免费一级 | 天天亚洲 | 久久久久久久一区二区三区 | 午夜免费福利片 | 五月婷婷丁香 | 91久久精品视频 | 精品国产精品国产偷麻豆 |