wso2~api的高級限(xian)流策略
發布者平臺使用高級策略
在發布者(zhe)(zhe)平臺,對(dui)(dui)api資(zi)源(yuan)配置(zhi)時,可以(yi)配置(zhi)api級(ji)(ji)別(bie)或者(zhe)(zhe)是消(xiao)費者(zhe)(zhe)(訂閱)級(ji)(ji)別(bie)的(de)限流(liu)策略;前者(zhe)(zhe)api級(ji)(ji)別(bie)配置(zhi)的(de)策略(高級(ji)(ji)限流(liu)策略),可以(yi)只(zhi)針(zhen)(zhen)對(dui)(dui)某個具有資(zi)源(yuan),也可以(yi)針(zhen)(zhen)對(dui)(dui)某個api資(zi)源(yuan)。

關閉整個(ge)api級別的限流,可以對(dui)某個(ge)資源選擇限流策略(lve)

admin平臺配置高級策略
高(gao)級策略-默(mo)(mo)認,當沒有被條件組合(he)選中的api,它走默(mo)(mo)認策略

高級(ji)策略-條件組合(he),可以使(shi)用IP,請(qing)求參數,請(qing)求頭,jwt里claim屬性等(deng)

測試高級策略
- 添加一個api接口,名為users
- 添加高級策略,1_per_min_by_header_lind
- 在生產者平臺,配置api的資源頁面,選擇api限流,策略為
1_per_min_by_header_lind - 默認每1分鐘請求10次,
Conditional groups中配置請求頭author為lind,限制1分鐘請求1次 - 訪問users接口,當它的接口有請求頭author,并且值為lind時,每分鐘保能請求1次,超過后,返回429,如圖
{
"code": "900800",
"message": "Message throttled out",
"description": "You have exceeded your quota .You can access API after 2025-Sep-19 05:42:00+0000 UTC",
"nextAccessTime": "2025-Sep-19 05:42:00+0000 UTC"
}