sentinel網關限流配置及使用

sentinel控制臺源碼:https://download.csdn.net/download/yixin605691235/89543923

sentinel控制臺jar包:https://download.csdn.net/download/yixin605691235/89543931

不同環境直接修改jar包中的application.yml文件中的nacos地址就可以了。

一、網關限流配置及使用

1、nacos配置

新增文件gdebs-gateway-sentinel.yml、gdebs-gateway-sentinel-dynamic.properties

spring:cloud:sentinel:eager: true#配置網關scg:fallback:content-type: application/json# 模式 response、redirectmode: response# 響應狀態碼response-status: ${sentinel.renturn.code}# 響應信息response-body: ${sentinel.renturn.msg}transport:dashboard: ${sentinel.dashboard.host}:${sentinel.dashboard.port}filter:enabled: falseip: gdebs-gateway-service# 控制臺數據持久化配置datasource:ds1:nacos:server-addr: ${sentinel.nacos.host}:${sentinel.nacos.port}username: ${sentinel.nacos.name}password: ${sentinel.nacos.pwd}namespace: ${sentinel.nacos.namespace}group-id: ${sentinel.nacos.group}data-id: ${spring.application.name}-sentinel-flow-rules.jsondata-type: jsonrule-type: gw-flowds2:nacos:server-addr: ${sentinel.nacos.host}:${sentinel.nacos.port}username: ${sentinel.nacos.name}password: ${sentinel.nacos.pwd}namespace: ${sentinel.nacos.namespace}group-id: ${sentinel.nacos.group}data-id: ${spring.application.name}-sentinel-api-rules.jsondata-type: jsonrule-type: gw-api-groupgateway:# spring cloud gateway 路由配置方式discovery:locator:#表明gateway開啟服務注冊和發現的功能enabled: true#將請求路徑上的服務名配置為小寫lower-case-service-id: true
# sentinel控制臺信息
sentinel.dashboard.host=xxxx
sentinel.dashboard.port=xxx# sentinel返回信息
sentinel.renturn.msg= 對不起,已經被限流了!!!
sentinel.renturn.code= xxx# sentinel數據持久化配置
sentinel.nacos.host=xxx.xx.xx.xx
sentinel.nacos.port=xxxx
sentinel.nacos.name=xx
sentinel.nacos.pwd=nacxxos
sentinel.nacos.namespace=xxx
sentinel.nacos.group=xxx
spring.application.name=xxx

2、網關應用增加依賴:

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId></dependency><dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-spring-cloud-gateway-adapter</artifactId></dependency>

3、控制臺配置限流規則

http://localhost:8081/#/login

帳號/密碼:sentinel/sentinel

此處注意:sentinel控制臺采用懶加載,因此需要現有請求才能看到鏈路

API管理:可以根據請求路徑來設置API組

設置網關可以按照API分組設置,也可以設置app應用的總體限流

流控方式有快速失敗和勻速排隊兩種:

快速失敗可以設置Burst size,這是一個突刺個數,如果QPS設置為1,突刺數設置為10 ,當高并發請求時,首先能消耗的請求數是11個,超過11則拒絕,后續還是可通過一個請求。

勻速排隊可以設置等待時長毫秒,當高并發請求超過QPS時,進入等待狀態,如果超過等待時長則拒絕。

二、資源和規則配置說明

官網詳細說明:basic-api-resource-rule | Sentinel

1、資源定義

主流框架默認適配:系統當前使用的springcloud本身支持請求鏈路

另外一種方式通過注解引用的方式:@SentinelResource

注解需要增加一個依賴

<dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-core</artifactId><version>1.8.6</version>
</dependency>
@RestController
@RequestMapping(value = "/sentinel")
@Api(value = "sentinel", tags = {"testController"})
public class TestController {@SentinelResource(value = "tesSentinel" , blockHandler = "myBlockHander")@PostMapping("/tesSentinel")public String tesSentinel() {return "1";}// 限流或者熔斷之后執行的方法public String myBlockHander(BlockException blockException){if(blockException instanceof FlowException){// 限流異常return "您被限流了";}else if(blockException instanceof DegradeException){// 熔斷異常return "您被熔斷了";}return "被限制了";}
}

2、規則定義

可以通過代碼設置規則,也可以通過控制臺設置規則

private void initFlowQpsRule() {List<FlowRule> rules=new ArrayList<>();System.out.println("限流初始化規則");// 定義一個限流規則FlowRule flowRule=new FlowRule();flowRule.setResource("tesSentinel"); // 資源名|必須參數flowRule.setGrade(RuleConstant.FLOW_GRADE_QPS); // 限流指標:QPS/線程數 |必須參數flowRule.setCount(1);  // 限流數量(上一步 QPS 或線程數的值) |必須參數flowRule.setStrategy(RuleConstant.STRATEGY_DIRECT); //調用關系限流策略【非必須設置】flowRule.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_RATE_LIMITER); // 流控效果【非必須設置】 排隊等待flowRule.setMaxQueueingTimeMs(1000); // 等待超時時間flowRule.setClusterMode(false); // 是否集群限流【非必須設置,默認非集群】rules.add(flowRule);FlowRuleManager.loadRules(rules);}

提供的關聯流控和鏈路流控可以應用到一些特殊的業務場景的流控

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45693.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45693.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45693.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【LeetCode 0169】【摩爾投票算法】主元素

Majority Element Given an array nums of size n, return the majority element. The majority element is the element that appears more than ?n / 2? times. You may assume that the majority element always exists in the array. Example 1: **Input:** nums [3…

大數據信用查詢有哪些問題值得注意呢?

隨著大數據技術的不斷發展&#xff0c;大數據信用報告成為一種新型的信用風險檢測工具&#xff0c;被很多的銀行和機構廣泛用于信用風險評估&#xff0c;那大數據信用查詢有哪些問題值得注意呢?本文就帶大家一起去了解一下&#xff0c;希望對你有一定的幫助。 大數據信用查詢這…

JsonCPP源碼分析——分配器和配置器

1、allocator.h文件 該文件定義了一個分配器模版&#xff0c;該文件主要使用了內存對齊控制、rebind機制(C 標準庫的分配器接口要求提供 rebind 機制&#xff0c;以支持不同類型的分配)、::operator new、std::addressof等技術。 內存對齊控制&#xff1a;之所以先保存當前內存…

《C++ 入門:第一個小程序》

《C 入門&#xff1a;第一個小程序》 在學習 C 的旅程中&#xff0c;編寫第一個小程序是一個令人興奮的時刻。它就像打開一扇通往新編程世界的大門&#xff0c;讓我們初步領略 C 的魅力。 C 是一種強大而靈活的編程語言&#xff0c;廣泛應用于各種領域&#xff0c;從系統編程…

python 方向梯度直方圖(HOG)算法 【附兩種實現方法并可視化】

目錄 一、概述1.1 算法定義1.2 實現過程二、方法1(skimage庫)2.1 代碼實現2.2 結果示例三、方法2(cv2庫)3.1 代碼實現3.2 結果示例四、結果對比?? 結果預覽 一、概述 1.1 算法定義 方向梯度直方圖(Histogram of Oriented Gradient,HOG):是應用在計算機視覺和圖像處…

Telegram Bot、小程序開發(三)Mini Apps小程序

文章目錄 一、Telegram Mini Apps小程序二、小程序啟動方式三、小程序開發小程序調試模式初始化小程序Keyboard Button Mini Apps 鍵盤按鈕小程序【依賴具體用戶信息場景,推薦】**Inline Button Mini Apps內聯按鈕小程序**initData 的自動傳遞使用內聯菜單時候哪些參數會默認傳…

LLM微調

文章目錄 一. 常見微調分類1.1 全量微調&#xff08;FFT&#xff1a;Full Fine-tuning&#xff09;1.2 參數高效微調(PEFT&#xff1a;Parameter-Efficient Fine-Tuning)1.3 指令微調&#xff08;IFT&#xff1a;Instructional Fine-tuning&#xff09;1.3.1 Hard prompt1.3.2 …

Docker存儲目錄問題,如何修改Docker默認存儲位置?(Docker存儲路徑、Docker存儲空間)etc/docker/daemon.json

文章目錄 如何更改docker默認存儲路徑&#xff1f;版本1&#xff08;沒測試&#xff09;版本2&#xff08;可行&#xff09;1. 停止 Docker 服務&#xff1a;2. 創建新的存儲目錄&#xff1a;3. 修改 Docker 配置文件&#xff1a;4. 移動現有的 Docker 數據&#xff1a;5. 重新…

Java-svg格式的oss圖片鏈接轉換為png格式圖片字節流

一、引入依賴 <!--svg轉其他格式依賴--> <dependency><groupId>org.apache.xmlgraphics</groupId><artifactId>batik-transcoder</artifactId><version>1.14</version> </dependency> <dependency><groupId&g…

什么樣的服務器是合乎直銷網站標準

現在社會的發展,有著越來越多的人想要利用互聯網來做直銷。做好直銷行業系統解決方案離不開好的服務器支持,服務器的的穩定性和速度是直接影響網站后期運作,可以看做是網站的根基。 做網站直銷選擇租用服務器需要注意的幾點要素 一些大的直銷互聯網公司如安利、雅芳、康寶萊、玫…

【人工智能】自然語言處理(NLP)的突破,關注NLP在機器翻譯、情感分析、聊天機器人等方面的最新研究成果和應用案例。

自然語言處理&#xff08;NLP&#xff09;作為人工智能的一個重要分支&#xff0c;近年來取得了顯著的突破&#xff0c;特別在機器翻譯、情感分析、聊天機器人等領域取得了顯著的研究成果和廣泛的應用。以下是對這些領域最新研究成果和應用案例的概述&#xff0c;并附帶相應的代…

域名解析記錄與服務器源IP的探索

在互聯網中&#xff0c;域名和IP地址是進行網絡通信的基礎。用戶通常通過域名來訪問網站或服務&#xff0c;而實際的數據交換則發生在IP地址之間。域名解析&#xff08;DNS解析&#xff09;是將易于記憶的域名轉換為計算機可識別的IP地址的過程。本文將探討如何通過域名解析記錄…

Uniapp自定義動態加載組件(2024.7更新)

1.本次介紹如何使用uniapp實現自定義動態加載Loading的組件&#xff0c;可以gif格式&#xff0c;也可以mp4格式等; 編寫自定義Loading組件(CustomLoader.vue)&#xff1b;組件中含有“動態接收圖片路徑”&#xff0c;“10秒超時未false則自動斷開關閉Loading”&#xff1b;在全…

【JavaScript 算法】廣度優先搜索:層層推進的搜索策略

&#x1f525; 個人主頁&#xff1a;空白詩 文章目錄 一、算法原理二、算法實現三、應用場景四、優化與擴展五、總結 廣度優先搜索&#xff08;Breadth-First Search, BFS&#xff09;是一種用于遍歷或搜索圖或樹數據結構的算法。該算法從起始節點開始&#xff0c;逐層向外擴展…

小程序-2(WXML數據模板+WXSS模板樣式+網絡數據請求)

目錄 1.WXML數據模板 數據綁定 事件綁定 小程序中常用的事件 事件對象的屬性列表 target和currentTarget的區別 bindtap的語法格式 在事件處理事件中為data中的數據賦值 事件傳參與數據同步 事件傳參 bindinput的語法綁定事件 文本框和data的數據同步 條件渲染 w…

《向量數據庫指南》——使用 Grafana 和 Loki 搭建 Milvus Cloud日志查詢系統

本教程將介紹如何設置 Grafana 和 Loki 來有效監控您的 Milvus Cloud實例。 Milvus Cloud是一款分布式向量數據庫,可高效存儲、索引和管理萬億級 Embedding 向量,是搭建 AI 和 ML 應用的首選向量數據庫系統。 Grafana 是一個開源的指標監控平臺,提供可視化的指標和日志…

5,SSH 端口轉發

SSH 端口轉發 簡介 SSH 除了登錄服務器&#xff0c;還有一大用途&#xff0c;就是作為加密通信的中介&#xff0c;充當兩臺服務器之間的通信加密跳板&#xff0c;使得原本不加密的通信變成加密通信。這個功能稱為端口轉發&#xff08;port forwarding&#xff09;&#xff0c…

SpringCloud | 單體商城項目拆分(微服務)

為什么要進行微服務拆分&#xff1f; 在平常的商城項目中&#xff0c;我們一般的項目結構模塊都是將各種業務放在同一個項目文件夾&#xff0c;比如像&#xff1a; 用戶&#xff0c;購物車&#xff0c;商品&#xff0c;訂單&#xff0c;支付等業務都是放在一起&#xff0c;這樣…

thinkphp:數據庫多條件查詢

一、使用if條件限制查詢條件 $query Db::table(wip_operation_plan)->alias(d)->join([wip_jobs_all > a], a.wip_entity_name d.wip_entity_name)->join([sf_item_no > c], a.primary_itemc.item_no)->field(d.*,c.item_no as item_no,c.item_name as i…

線上觀看 3 萬+!「智能運維MeetUp」精彩回顧,探討智能體構建新方向

龍蜥社區“走進系列”第 11 期走進中興通訊-智能可觀測運維技術 MeetUp 于成都圓滿結束&#xff0c;由中興通訊聯合龍蜥社區系統運維聯盟&#xff08;SOMA&#xff09;&#xff08;以下簡稱“聯盟”&#xff09;共同舉辦。本次活動現場匯聚了阿里云、諧云科技、乘云數字、中興通…