亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

瀏覽:76日期:2023-06-28 18:08:16
目錄Sentinel 是什么Sentinel與Hystrix的區(qū)別 Sentinel分為兩大部分:一、控制臺(tái)(Dashboard) 二、搭建客戶端1.在自己的項(xiàng)目中引入依賴2.編輯項(xiàng)目中的 application.yml或者bootstrap.yml文件3.資源是 Sentinel 中的一個(gè)關(guān)鍵概念。它可以是任何東西,例如服務(wù)、方法,甚至是代碼片段。三、查看接口的流量的詳情1.實(shí)時(shí)監(jiān)控2.簇點(diǎn)鏈路3.等等:其他使用方法有待發(fā)掘 Sentinel 是什么

隨著微服務(wù)的流行,服務(wù)和服務(wù)之間的穩(wěn)定性變得越來越重要。Sentinel 以流量為切入點(diǎn),從流量控制、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)等多個(gè)維度保護(hù)服務(wù)的穩(wěn)定性。

官網(wǎng):https://github.com/alibaba/Sentinel

中文官網(wǎng):https://github.com/alibaba/Sentinel/wiki

Sentinel與Hystrix的區(qū)別

由于Hystrix不再積極的開發(fā),進(jìn)入維護(hù)階段,現(xiàn)在越來越多的開發(fā)者在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件。

Hystrix的關(guān)注點(diǎn)在于以 隔離和熔斷為主的容錯(cuò)機(jī)制,超時(shí)或被熔斷的調(diào)用將會(huì)快速失敗,并可以提供 fallback 機(jī)制。

Sentinel的側(cè)重點(diǎn)在于:多樣化的流量控制、熔斷降級(jí),系統(tǒng)負(fù)載保護(hù),實(shí)時(shí)監(jiān)控和控制臺(tái)。

對(duì)比詳圖

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

Sentinel的功能特點(diǎn)--摘自官方

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

Sentinel分為兩大部分:

核心庫(kù)(Java 客戶端)--自己的項(xiàng)目中的代碼。不依賴任何框架/庫(kù),能夠運(yùn)行于 Java 7 及以上的版本的運(yùn)行時(shí)環(huán)境,同時(shí)對(duì) Dubbo / Spring Cloud 等框架也有較好的支持。

控制臺(tái)(Dashboard)--控制臺(tái)主要負(fù)責(zé)管理推送規(guī)則、監(jiān)控、集群限流分配管理、機(jī)器發(fā)現(xiàn)等。

一、控制臺(tái)(Dashboard)

1、下載sentienl的jar包,本例使用:sentinel-dashboard-1.7.2.jar,地址:https://github.com/alibaba/Sentinel/releases

2、使用java -jar命令啟動(dòng)Sentinel控制臺(tái)

啟動(dòng) Sentinel 控制臺(tái)需要 JDK 版本為 1.8 及以上版本。

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

3、訪問地址:http://localhost:8080/,8080為Sentinel的默認(rèn)端口 默認(rèn)賬號(hào)密碼為sentinel

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

二、搭建客戶端1.在自己的項(xiàng)目中引入依賴

<!---sentinel的依賴--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <version>2.2.1.RELEASE</version></dependency>2.編輯項(xiàng)目中的 application.yml或者bootstrap.yml文件

添加Sentinel 控制臺(tái)配置信息

spring: sentinel: transport:port: 8719 # 應(yīng)用與Sentinel控制臺(tái)交互的端口,應(yīng)用本地會(huì)起一個(gè)該端口占用的HttpServer # 默認(rèn)8719端口,假如端口被占用,依次+1,直到找到未被占用端口dashboard: localhost:8080 #sentinel控制臺(tái)的請(qǐng)求地址,需要啟動(dòng)一個(gè)dashboard的jar3.資源是 Sentinel 中的一個(gè)關(guān)鍵概念。它可以是任何東西,例如服務(wù)、方法,甚至是代碼片段。

一旦被 Sentinel API 包裹,就被定義為資源,可以申請(qǐng) Sentinel 提供的保護(hù)。

把需要控制流量的代碼用 Sentinel的關(guān)鍵代碼 SphU.entry('資源名') 和 entry.exit() 包圍起來即可。

實(shí)例代碼--摘自官方

Entry entry = null; try {// 定義一個(gè)sentinel保護(hù)的資源,名稱為test-sentinel-apientry = SphU.entry(resourceName);// 模擬執(zhí)行被保護(hù)的業(yè)務(wù)邏輯耗時(shí)Thread.sleep(100);return a; } catch (BlockException e) {// 如果被保護(hù)的資源被限流或者降級(jí)了,就會(huì)拋出BlockExceptionlog.warn('資源被限流或降級(jí)了', e);return '資源被限流或降級(jí)了'; } catch (InterruptedException e) {return '發(fā)生InterruptedException'; } finally {if (entry != null) { entry.exit();} ContextUtil.exit(); }}

使用注解@SentinelResource 用于定義資源,并提供可選的異常處理和 fallback 配置項(xiàng)

value:資源名稱,必需項(xiàng)(不能為空) entryType:entry 類型,可選項(xiàng)(默認(rèn)為 EntryType.OUT) blockHandler / blockHandlerClass: blockHandler 對(duì)應(yīng)處理 BlockException 的函數(shù)名稱,可選項(xiàng) fallback:fallback 函數(shù)名稱,可選項(xiàng),用于在拋出異常的時(shí)候提供 fallback 處理邏輯。

在項(xiàng)目中Controller中添加@SentinelResource(value = 'Sentinel-name')

例如:

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

啟動(dòng)項(xiàng)目

三、查看接口的流量的詳情1.實(shí)時(shí)監(jiān)控

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

2.簇點(diǎn)鏈路

淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件

3.等等:其他使用方法有待發(fā)掘

補(bǔ)充:

1.QPS:每秒請(qǐng)求數(shù),當(dāng)前調(diào)用該api的QPS到達(dá)閾值的時(shí)候進(jìn)行限流

2.線程數(shù):當(dāng)調(diào)用該api的線程數(shù)到達(dá)閾值的時(shí)候,進(jìn)行限流

3.直接:當(dāng)api大達(dá)到限流條件時(shí),直接限流4

4.關(guān)聯(lián):當(dāng)關(guān)聯(lián)的資源到達(dá)閾值,就限流自己

5.鏈路:只記錄指定路上的流量,指定資源從入口資源進(jìn)來的流量,如果達(dá)到閾值,就進(jìn)行限流,api級(jí)別的限流

6.熱點(diǎn)規(guī)則即經(jīng)常訪問的數(shù)據(jù)。很多時(shí)候我們希望統(tǒng)計(jì)某個(gè)熱點(diǎn)數(shù)據(jù)中訪問頻次最高的 Top K 數(shù)據(jù),并對(duì)其訪問進(jìn)行限制。

7.響應(yīng)時(shí)間是指系統(tǒng)對(duì)請(qǐng)求作出響應(yīng)的時(shí)間。

8.吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量。

到此這篇關(guān)于淺談如何在項(xiàng)目中使用Spring Cloud Alibaba Sentinel組件的文章就介紹到這了,更多相關(guān)Spring Cloud Alibaba Sentinel組件內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 久久综合精品不卡一区二区 | 女人黄色大片子色 | 午夜一级毛片免费视频 | 夜夜偷影视 | 亚洲欧美日韩一区 | 一级女性全黄生活片看看 | 天天更新天天久久久更新影院 | 欧美特级黄色片 | 久久国产精品无码网站 | 久久久久国产一级毛片高清版 | 国产免费网站看v片元遮挡 国产免费自拍 | 特级a毛片| 欧美 亚洲 一区 | 久久久国产成人精品 | 亚洲国产精品xo在线观看 | 午夜免费福利不卡网址92 | 久久精品国产一区二区 | 一级黄大片| 免费观看日本人成影片 | 欧美人成在线观看 | 免费看一级黄色毛片 | 丁香婷婷综合五月六月 | 午夜视频黄色 | 国产成人精品免费视频动漫 | 欧美精品成人一区二区在线观看 | 亚洲1卡2卡三卡3卡4卡网站 | 国产精品免费看久久久久 | 91在线老王精品免费播放 | 久久午夜激情 | 一个人看的ww免费视频 | 国产a v高清一区二区三区 | 欧美乱码 | 亚洲欧美久久婷婷爱综合一区天堂 | 天天色综合2 | 国产群p视频 | 免费麻豆国产一区二区三区四区 | 蜜桃臀久久伊人福利 | 国产chinesehd在线观看 | 一级做a爱过程免费视频日本 | 免费在线看黄色片 | 精品啪啪|