91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Rainbond對微服務進行請求速率限制的方法

發布時間:2022-04-21 10:23:09 來源:億速云 閱讀:100 作者:zzz 欄目:開發技術

本篇內容主要講解“Rainbond對微服務進行請求速率限制的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Rainbond對微服務進行請求速率限制的方法”吧!

Rainbond 默認支持基于 envoy 的全局速率限制。在 Rainbond 默認提供的綜合網絡治理插件中呈現。本文我們將一個用例呈現 Rainbond 中全局速率限制的使用方式。

前置條件

  1. Rainbond平臺已部署完成。

  2. 在Rainbond中部署可訪問的 Demo 業務。

  3. 為此組件開通綜合網絡治理插件。

參考視頻

https://player.bilibili.com/player.html?aid=540728010

Rainbond 速率限制設置參考視頻

操作流程

1.部署全局限制服務需要使用的 Redis 組件,使用鏡像redis:alpine創建組件,組件創建后在端口設置中將 6379 端口別名修改為REDIS,開啟對內服務權限。

2.部署全局限制服務,使用鏡像的方式部署全局限制服務。使用以下 DockerRun 命令創建組件,組件可部署到業務的同一個應用中。添加后使其依賴上步安裝的 REDIS 組件。

docker run -e USE_STATSD=false -e REDIS_SOCKET_TYPE=tcp -e REDIS_URL=${REDIS_HOST}:${REDIS_PORT} -e RUNTIME_ROOT=/data -e RUNTIME_SUBDIRECTORY=ratelimit -v /data/ -p 8081:8081 barnett/ratelimit:v1.4.0 /bin/ratelimit

添加成功后切換到組件端口設置頁面,將 8081 端口對內服務打開并設置端口別名為RATE_LIMIT_SERVER

默認使用的全局限制服務是 envoy 的默認實現,你可以根據 envoy 的速率限制服務 API 規范進行自定義實現。

3.添加速率限制配置文件

進入全局限制服務組件的環境管理中,添加配置文件,文件路徑為 /data/ratelimit/config/config.yaml

domain: limit.common
descriptors:
  - key: remote_address
    rate_limit:
      unit: second
      requests_per_unit: 10

  # Black list IP
  - key: remote_address
    value: 50.0.0.5
    rate_limit:
      unit: second
      requests_per_unit: 0

添加完配置文件后重啟組件。

該配置的含義是通過請求來源 IP 進行速率限制,IP為 50.0.0.5 限制訪問,其他 IP 地址限制每秒請求 10 次

4.業務組件依賴限制服務組件并更新插件配置

編輯拓撲圖使業務組件依賴剛剛部署的速率限制服務組件,然后進入業務組件插件管理,點擊已開通的綜合治理插件的查看配置入口。在配置表單中做如下配置:

配置OPEN_LIMIT為yes

配置LIMIT_DOMAIN為limit.common,該值與上面配置文件中的配置 domain 形成對應。

配置完成后更新插件配置即可。

5.驗證速率限制是否生效

我們可以使用ab命令進行壓力測試

ab -n 1000 -c 20 http://5000.gr425688.duaqtz0k.17f4cc.grapps.cn/

結果會顯示如下:

Concurrency Level:      20
Time taken for tests:   6.132 seconds
Complete requests:      1000
Failed requests:        794
   (Connect: 0, Receive: 0, Length: 794, Exceptions: 0)
Non-2xx responses:      794

可見 1000 次請求有 794 次被限制,被速率限制駁回的請求訪問碼為429

常見問題

是否可以自定義開發速率限制服務

當然可以,本文采用的服務實現是envoy ratelimit,你可以基于API 規范自主實現。

是否支持更多速率限制策略

速率限制策略還可以支持基于請求頭來進行限制,但目前僅支持基于來源 IP 地址。

到此,相信大家對“Rainbond對微服務進行請求速率限制的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤壁市| 海安县| 唐山市| 白水县| 深州市| 扶余县| 南宁市| 宽城| 佛山市| 黑水县| 勃利县| 高雄县| 莒南县| 抚顺县| 青神县| 连云港市| 高要市| 湟中县| 友谊县| 望奎县| 汉川市| 石门县| 武山县| 财经| 卓资县| 民和| 湛江市| 定安县| 美姑县| 都昌县| 苏尼特右旗| 玛多县| 商水县| 中牟县| 高尔夫| 万州区| 康保县| 马关县| 湘乡市| 乾安县| 天门市|