国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁/技術文章
文章詳情頁

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

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

隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

官網:https://github.com/alibaba/Sentinel

中文官網:https://github.com/alibaba/Sentinel/wiki

Sentinel與Hystrix的區別

由于Hystrix不再積極的開發,進入維護階段,現在越來越多的開發者在項目中使用Spring Cloud Alibaba Sentinel組件。

Hystrix的關注點在于以 隔離和熔斷為主的容錯機制,超時或被熔斷的調用將會快速失敗,并可以提供 fallback 機制。

Sentinel的側重點在于:多樣化的流量控制、熔斷降級,系統負載保護,實時監控和控制臺。

對比詳圖

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

Sentinel的功能特點--摘自官方

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

Sentinel分為兩大部分:

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

控制臺(Dashboard)--控制臺主要負責管理推送規則、監控、集群限流分配管理、機器發現等。

一、控制臺(Dashboard)

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

2、使用java -jar命令啟動Sentinel控制臺

啟動 Sentinel 控制臺需要 JDK 版本為 1.8 及以上版本。

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

3、訪問地址:http://localhost:8080/,8080為Sentinel的默認端口 默認賬號密碼為sentinel

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

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

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

添加Sentinel 控制臺配置信息

spring: sentinel: transport:port: 8719 # 應用與Sentinel控制臺交互的端口,應用本地會起一個該端口占用的HttpServer # 默認8719端口,假如端口被占用,依次+1,直到找到未被占用端口dashboard: localhost:8080 #sentinel控制臺的請求地址,需要啟動一個dashboard的jar3.資源是 Sentinel 中的一個關鍵概念。它可以是任何東西,例如服務、方法,甚至是代碼片段。

一旦被 Sentinel API 包裹,就被定義為資源,可以申請 Sentinel 提供的保護。

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

實例代碼--摘自官方

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

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

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

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

例如:

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

啟動項目

三、查看接口的流量的詳情1.實時監控

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

2.簇點鏈路

淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件

3.等等:其他使用方法有待發掘

補充:

1.QPS:每秒請求數,當前調用該api的QPS到達閾值的時候進行限流

2.線程數:當調用該api的線程數到達閾值的時候,進行限流

3.直接:當api大達到限流條件時,直接限流4

4.關聯:當關聯的資源到達閾值,就限流自己

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

6.熱點規則即經常訪問的數據。很多時候我們希望統計某個熱點數據中訪問頻次最高的 Top K 數據,并對其訪問進行限制。

7.響應時間是指系統對請求作出響應的時間。

8.吞吐量是指系統在單位時間內處理請求的數量。

到此這篇關于淺談如何在項目中使用Spring Cloud Alibaba Sentinel組件的文章就介紹到這了,更多相關Spring Cloud Alibaba Sentinel組件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲国产日韩欧美在线 | 禁止18周岁进入免费网站观看 | 亚洲精品视频在线看 | 天堂视频网站 | 伊人久久大香线焦在观看 | 一 级 黄 色 大片 | 欧美一级特黄aa大片视频 | 亚洲综合影视 | 午夜免费的国产片在线观看 | a中文字幕1区| 三级国产三级在线 | 日韩欧美在线播放视频 | 91亚洲精品| 日韩美女网站 | 亚洲精品久久久久久久久久久网站 | 一级网站片 | 久久久久久国产精品免费 | 亚洲精品久久久久网站 | 国产真实搭讪系列 | 亚洲一级免费视频 | 国产成人综合日韩精品婷婷九月 | 国产在线不卡免费播放 | 国产伦久视频免费观看视频 | 亚洲一区二区三区中文字幕 | 亚洲厕拍 | 欧美精品xx | 国产日韩欧美综合在线 | 日本波多野结衣在线 | 国产成人在线网址 | 福利片免费一区二区三区 | 在线视频久久 | 日韩精品中文字幕一区二区三区 | 伊人色在线观看 | 日本在线观看一级高清片 | 亚洲国产福利精品一区二区 | 看黄网址 | 精品91精品91精品国产片 | 久草福利资源网站免费 | 成人精品在线视频 | 亚洲欧美视频网站 | 久久综合精品视频 |