Sentinel介紹與使用

一、Sentinel簡介

Sentinel是阿里開源的項目,提供了流量控制、熔斷降級、系統負載保護等多個維度來保障服務之間的穩定性。
在這里插入圖片描述

二:Sentinel 功能和設計理念

流量控制
流量控制在網絡傳輸中是一個常用的概念,它用于調整網絡包的發送數據。然而,從系統穩定性角度考慮,在處理請求的速度上,也有非常多的講究。任意時間到來的請求往往是隨機不可控的,而系統的處理能力是有限的。我們需要根據系統的處理能力對流量進行控制。Sentinel 作為一個調配器,可以根據需要把隨機的請求調整成合適的形狀,如下圖所示:
在這里插入圖片描述
流量控制有以下幾個角度:

資源的調用關系,例如資源的調用鏈路,資源和資源之間的關系;
運行指標,例如 QPS、線程池、系統負載等;
控制的效果,例如直接限流、冷啟動、排隊等。
Sentinel 的設計理念是讓您自由選擇控制的角度,并進行靈活組合,從而達到想要的效果。

熔斷降級
什么是熔斷降級
除了流量控制以外,降低調用鏈路中的不穩定資源也是 Sentinel 的使命之一。由于調用關系的復雜性,如果調用鏈路中的某個資源出現了不穩定,最終會導致請求發生堆積。這個問題和 Hystrix 里面描述的問題是一樣的。

Sentinel 和 Hystrix 的原則是一致的: 當調用鏈路中某個資源出現不穩定,例如,表現為 timeout,異常比例升高的時候,則對這個資源的調用進行限制,并讓請求快速失敗,避免影響到其它的資源,最終產生雪崩的效果。

熔斷降級設計理念
在限制的手段上,Sentinel 和 Hystrix 采取了完全不一樣的方法。

Hystrix 通過線程池的方式,來對依賴(在我們的概念中對應資源)進行了隔離。這樣做的好處是資源和資源之間做到了最徹底的隔離。缺點是除了增加了線程切換的成本,還需要預先給各個資源做線程池大小的分配。

Sentinel 對這個問題采取了兩種手段:

通過并發線程數進行限制
和資源池隔離的方法不同,Sentinel 通過限制資源并發線程的數量,來減少不穩定資源對其它資源的影響。這樣不但沒有線程切換的損耗,也不需要您預先分配線程池的大小。當某個資源出現不穩定的情況下,例如響應時間變長,對資源的直接影響就是會造成線程數的逐步堆積。當線程數在特定資源上堆積到一定的數量之后,對該資源的新請求就會被拒絕。堆積的線程完成任務后才開始繼續接收請求。

通過響應時間對資源進行降級
除了對并發線程數進行控制以外,Sentinel 還可以通過響應時間來快速降級不穩定的資源。當依賴的資源出現響應時間過長后,所有對該資源的訪問都會被直接拒絕,直到過了指定的時間窗口之后才重新恢復。

系統負載保護
Sentinel 同時提供系統維度的自適應保護能力。防止雪崩,是系統防護中重要的一環。當系統負載較高的時候,如果還持續讓請求進入,可能會導致系統崩潰,無法響應。在集群環境下,網絡負載均衡會把本應這臺機器承載的流量轉發到其它的機器上去。如果這個時候其它的機器也處在一個邊緣狀態的時候,這個增加的流量就會導致這臺機器也崩潰,最后導致整個集群不可用。

針對這個情況,Sentinel 提供了對應的保護機制,讓系統的入口流量和系統的負載達到一個平衡,保證系統在能力范圍之內處理最多的請求。

Sentinel 是如何工作的
Sentinel 的主要工作機制如下:

對主流框架提供適配或者顯示的 API,來定義需要保護的資源,并提供設施對資源進行實時統計和調用鏈路分析。
根據預設的規則,結合對資源的實時統計信息,對流量進行控制。同時,Sentinel 提供開放的接口,方便您定義及改變規則。
Sentinel 提供實時的監控系統,方便您快速了解目前系統的狀態。

三:安裝步驟

一:下載jar包
在這里插入圖片描述

二:控制臺打開jar包所在目錄
在這里插入圖片描述

三:輸入如下命令啟動
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar在這里插入圖片描述

四:sentinel.dashboard就是一個springboot工程,可以看到項目已經在8080端口啟
在這里插入圖片描述

五:在瀏覽器中輸入url:
localhost:8080后即可進入主頁面。
在這里插入圖片描述

六:登陸用戶名和密碼都是sentinel
登陸后可以看到
在這里插入圖片描述

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

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

相關文章

電腦知識:BIOS和UEFI的對比介紹

??作者主頁:IT技術分享社區 ??作者簡介:大家好,我是IT技術分享社區的博主,從事C#、Java開發九年,對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽: 數據庫領域優質創作者🏆&#x…

緩存更新的套路

看到好些人在寫更新緩存數據代碼時,先刪除緩存,然后再更新數據庫,而后續的操作會把數據再裝載的緩存中。然而,這個是邏輯是錯誤的。試想,兩個并發操作,一個是更新操作,另一個是查詢操作&#xf…

怎樣獲取當前頁面值php,想要得到當前頁面的所有url參數信息怎么用PHP來實現?...

本篇文章主要給大家介紹怎么使用php獲取完整url。首先給新手小白們簡單介紹下什么是url。百度百科上是這么解說的,統一資源定位符是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯…

@PostConstruct注解學習,最詳細的分享教程

該注解可以實現在運行工程時,自動運行該注解下的方法; PostConstruct是java自帶的注解,指的是在項目啟動的時候執行這個方法,也可以理解為在spring容器啟動的時候執行,可作為一些數據的常規化加載,比如數據…

電腦知識:分享實用的電腦維護小常識

目錄 常識1:杜絕直接拔電腦電源強行關機 常識2:不要用電池玩游戲 常識3:開不了機可以嘗試插拔內存條 常識4:電腦散熱的處理方法 常識5:避免在電腦工作時拔插頭 今天小編就為大家帶來一些電腦日常實用中的維護小知識&am…

Sentinel實現黑白名單控制詳細教程來了

一:新建一個IpRequestOriginParser類,實現RequestOriginParser接口,配置如下 public class IpRequestOriginParser implements RequestOriginParser {/*** Parse the origin from given HTTP request.** param request HTTP request* return …

php獲取服務器名稱,PHP 獲取服務器詳細信息

獲取系統類型及版本號: php_uname() (例:Windows NT COMPUTER 5.1 build 2600)只獲取系統類型: php_uname(s) (或:PHP_OS,例:Windows NT)只獲取系統版本號: php_u…

D. Anton and Chess 模擬題 + 讀題

http://codeforces.com/contest/734/problem/D 一開始的時候看不懂題目,以為象是中國象棋那樣走,然后看不懂樣例。 原來是走對角線的,長知識了。 所以我們就知道,王有八個方向,所以每個方向選一個來做代表就行了。 那么…

電腦知識:常見電腦藍屏代碼識別與處理方法

電腦藍屏怎么辦? 相信大家都遇到過藍屏的問題, 有時候電腦用著用著就突然藍屏了, 或者某天開機突然藍屏了…… 電腦藍屏的原因非常的多, 到底是什么引起的呢? 收集了一些最常見的幾種藍屏代碼, 大家只需要如…

sentinel的@SentinelResource注解使用

客戶自定義限流處理邏輯 創建ExceptionUtil類用于自定義限流處理邏輯 自定義限流處理類: ExceptionUtil 二:新增 SentinelResource注解 配置 SentinelResource(value “hello2”, blockHandler “exHandler”, blockHandlerClass {ExceptionUtil.class}) 通過…

PHP寫猜數字,PHP算法之猜數字

小A 和 小B 在玩猜數字。小B 每次從 1, 2, 3 中隨機選擇一個,小A 每次也從 1, 2, 3 中選擇一個猜。他們一共進行三次這個游戲,請返回 小A 猜對了幾次?輸入的guess數組為 小A 每次的猜測,answer數組為 小B 每次的選擇。guess和answ…

總結一年來的前端學習心得

到今天,前端學習剛好滿一年。我也順利從非計算機專業轉到前端。對于前端學習,自己也是摸著石頭過河,中間也有過困惑和迷茫。本文主要講述自己一年來對于前端學習的心得體會,希望能對學習前端的人提供一些幫助。 前端主要分為三部分…

辦公技巧:10個WORD神操作,值得收藏

目錄 1、F4鍵 2、Ctrl字母快捷鍵 3、巧用“文檔比較” 4、巧用替換功能 5、特殊字體保存 6、Word表格隨心粘 7、去除超鏈接 8、Word圖片輕松移 9、截圖 10、格式刷不停 在日常辦公當中, Word文檔就是我們最常用的軟件之一。用它我們寫論文、寫方案、寫小說等等。 但…

MYSQL學習:GROUP BY分組取最新的一條記錄

日常開發當中,經常會遇到查詢分組數據中最新的一條記錄,比如統計當前系統每個人的最新登錄記錄、外賣系統統計所有買家最新的一次訂單記錄、圖書管理系統借閱者最新借閱書籍的記錄等等。今天給大家介紹一下如何實現以上場景的SQL寫法,希望對大…

@SentinelResource注解實現熱點限流

下圖中請求url中param參數為axb,如果QPS超過5,就會限流 一:如下代碼 RestController public class ParamController {GetMapping("/param")SentinelResource(value "param", blockHandler "exHandler")p…

[LeetCode] 4Sum II 四數之和之二

Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such that A[i] B[j] C[k] D[l] is zero. To make problem a bit easier, all A, B, C, D have same length of N where 0 ≤ N ≤ 500. All integers are in the range of…

php的正則表達式函數,php中常用的正則表達式函數

php中常用的正則表達式函數* preg_match()* preg_match_all()* preg_replace()* preg_filter()* preg_grep()* preg_split()* preg_quote()接下來對比講解:講解中 $pattern 通常表示正則表達式$subject 通常表示目標處理數據定義一個方法 方便查看數據類型&#xff…

硬件知識:固態硬盤4K對齊知識介紹

目錄 1、什么是4K對齊呢? 2、怎么查看硬盤是否4K對齊呢? 3、怎么4K對齊呢? 現在大家基本都有一個固態硬盤,而在固態硬盤分區中4K對齊是非常重要的。 1、什么是4K對齊呢? “4K對齊”就是符合“4K扇區”定義格式化過的硬…

【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的區別

SpringCloudApplication注解 注解SpringCloudApplication包括:SpringBootApplication、EnableDiscoveryClient、EnableCircuitBreaker,分別是SpringBoot注解、注冊服務中心Eureka注解、斷路器注解。對于SpringCloud來說,這是每一微服務必須應…

網絡知識:路由器常見故障分析及處理方法

目錄 1.路由器的部分功能無法實現 2.網絡頻繁掉線 3.無法瀏覽網頁 4.某些應用無法使用 5.網絡帶寬達不到合同帶寬或相差甚遠 6.局域網內存在多個路由器,因人為原因出現二級路由 對當前的大多數網絡來說,無論是實現網絡互連還是訪問Internet&a…