真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

gateway整合sentinel限流不生效排查-創(chuàng)新互聯(lián)

問題

線上的sentinel 在測(cè)試壓測(cè)時(shí)候可以正常被限流 但是在正常的流量中 發(fā)現(xiàn)被限流的接口很少 (我發(fā)誓肯定都配置了限流規(guī)則)

創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),成都小程序開發(fā),10多年建站對(duì)成都高空作業(yè)車租賃等多個(gè)行業(yè),擁有多年的網(wǎng)站制作經(jīng)驗(yàn)。約定

文中的 服務(wù)名稱以及地址 都被改寫了

排查步驟

1.檢查相關(guān)配置 以及 pom依賴配置 發(fā)現(xiàn)SentinelGatewayFilter 重復(fù)配置

2.猜測(cè)可能是配置沒有進(jìn)行初始化 或者初始化存在問題 去掉相關(guān)的配置初始化 直接使用sentinel -dashboard 進(jìn)行配置

3.部署并搭建dashborad 添加相關(guān)配置 (spring.cloud.sentinel.transport.dashboard=localhost:8888
),使服務(wù)啟動(dòng)注冊(cè)到sentinel-dashboard中 訪問 localhost:8888 (默認(rèn)是端口8080 可以在啟動(dòng)時(shí)候指定 java -Dserver.port=8888 -jar ./sentinel-dashboard-1.8.6.jar &) 需要登錄 默認(rèn)賬號(hào)密碼 都是sentinel 效果如下
在這里插入圖片描述

4.在流控規(guī)則中 添加具體的流控配置 因?yàn)槲覀儧]有配置API 所以只有 根據(jù)routeId 配置

在這里插入圖片描述

5.接下來使用 壓測(cè)工具進(jìn)行 壓測(cè) 發(fā)現(xiàn)限流規(guī)則 并沒有生效

6.開始漫長的尋找不生效原因

。。。。。。。。。。。。。。

7.后來找到 可能是版本原因 升級(jí) 如下組件的版本

com.alibaba.cloud spring-cloud-starter-alibaba-sentinel 2.2.1.RELEASE com.alibaba.cloud spring-cloud-alibaba-sentinel-gateway 2.2.0.RELEASE

8.后來 因?yàn)槠渌陌姹静患嫒輪栴} 只能整理升級(jí) springboot springcloud springcloud-alibaba

于是根據(jù) spring-cloud-alibaba 官方提供的版本說明 進(jìn)行了 版本 升級(jí) 官方版本說明地址 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
目前使用的版本
spring cloud alibaba 2.2.7.RELEASE
spring cloud Hoxton.SR12
spring boot 2.3.12.RELEASE

9.升級(jí)過后,首先去掉 代碼中 sentinel 的重復(fù)配置 同時(shí)在nacos的限流配置中 僅保留一個(gè)接口的限流配置 同時(shí)增加 nacos中 sentinel 相關(guān)的配置

10.啟動(dòng) 使用jmter 壓測(cè) 發(fā)現(xiàn)限流生效了

后續(xù)的改進(jìn)

去掉配置的 異常攔截 (舊的配置中定義了 ErrorWebExceptionHandler 處理器) 使用sentinel的攔截配置
調(diào)整多個(gè)過濾器的順序 (異常處理器→限流攔截器→全局日志攔截器 ->cat 鏈路->cat過濾)

官方網(wǎng)關(guān)限流文檔: https://sentinelguard.io/zh-cn/docs/api-gateway-flow-control.html

阿里巴巴cloud官方文檔 : https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-docs/src/main/asciidoc-zh/sentinel.adoc

后記 以下兩個(gè)問題 也耽誤了很久

問題1. 配置了某個(gè)服務(wù)的某個(gè)接口 限流規(guī)則 導(dǎo)致某個(gè)服務(wù)的其他的接口 也被限流

有問題的配置 {“resource”:“mall_service”,“apiDefinitions”:[{“matchStrategy”:0,“pattern”:“/mall-service/entry/scene/xxx”}],“count”:10,“intervalSec”:1,“controlBehavior”:0}

問題表現(xiàn) 在請(qǐng)求 /該服務(wù)下另一個(gè)接口 也被限流 sspmall-service/client/points/user/balance

解決辦法

指定resource 名稱為 特殊的名稱 而不是微服務(wù)的名稱
指定resorceMode=1 含義是 使用自定義API限流
正確的配置

{“resource”:“mall_service_entry_scene_xxx”,“resourceMode”:1,“apiDefinitions”:[{“matchStrategy”:0,“pattern”:“/mall-service/entry/scene/xxx”}],“count”:10,“intervalSec”:1,“controlBehavior”:0}

resource是 同一個(gè)自定義API組的名稱 以及 限流規(guī)則中使用的 自定義API組名稱

問題二 本地部署的 dashboard 和 test環(huán)境部署的dashboard 采集的鏈路不一致
本地部署的效果圖
在這里插入圖片描述
測(cè)試環(huán)境上的效果圖
在這里插入圖片描述
注意觀察 一個(gè)是叫 請(qǐng)求鏈路 一個(gè)叫做簇點(diǎn)鏈路 還有資源名 想差很大 同時(shí) 當(dāng)簇點(diǎn)鏈路為測(cè)試環(huán)境中的時(shí) 接口的限流將失效

本地部署在自己電腦上 同時(shí)服務(wù)也是在idea中運(yùn)行
test環(huán)境dashboard 部署在服務(wù)器(java -jar方式) 而應(yīng)用是部署在k8s環(huán)境中 同時(shí) dashboard和 應(yīng)用通信的端口不同

解決辦法: 測(cè)試環(huán)境中的dashboard 也部署到和應(yīng)用相同的k8s環(huán)境里

誤區(qū) 因?yàn)榭吹?測(cè)試環(huán)境中的鏈路 和 zuul 集成 sentinel的時(shí)候 鏈路一樣 導(dǎo)致一直在找 zuul是否被生效了 而忽略了 dashboard請(qǐng)求 gateway-service 端口不同 導(dǎo)致鏈路采集有誤

the end

三年過年沒回家了 明天將踏上回家路
在這里插入圖片描述

新春快樂

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁名稱:gateway整合sentinel限流不生效排查-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/eijcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部