成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Sentinel原理介紹,你學會了嗎?

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

今日目標

  • 理解Sentinel原理

之前已經介紹了雪崩產生原因和解決方式,那么這些解決方式如何落地?現在支持SpringCloud微服務保護技術一般都是:Hystrix和Sentinle,早期比較流行的是Hystrix框架,但目前國內實用最廣泛的還是阿里巴巴的Sentinel框架,我們對這兩種常見技術進行對比:


Sentinel

Hystrix

隔離策略

信號量隔離

線程池隔離/信號量隔離

熔斷降級策略

基于慢調用比例或異常比例

基于失敗比率

實時指標實現

滑動窗口

滑動窗口(基于 RxJava)

規則配置

支持多種數據源

支持多種數據源

擴展性

多個擴展點

插件的形式

基于注解的支持

支持

支持

限流

基于 QPS,支持基于調用關系的限流

有限的支持

流量整形

支持慢啟動、勻速排隊模式

不支持

系統自適應保護

支持

不支持

控制臺

開箱即用,可配置規則、查看秒級監控、機器發現等

不完善

常見框架的適配

Servlet、Spring Cloud、Dubbo、gRPC  等

Servlet、Spring Cloud Netflix

在種種差異中,我們重點關注加粗標注的部分:

隔離策略:

  • 線程池隔離:同上述線程隔離案例,給不同業務分配不同線程池,這種方案可以杜絕雪崩問題;但是因為tomcat之外的線程池開銷也使得系統開銷增加,頻繁的上下文切換將給系統性能帶來額外的損失。
  • 信號量隔離:不會給業務單獨創建線程池(統一使用tomcat一個容器),而是限制每個業務能使用的線程數量。統計當前業務使用的線程數,當達到指定數量后(類似計數器)觸發隔離。相較于線程池隔離性差一點。

熔斷降級策略

  • 慢調用比例/異常比例/異常數:統計調用中慢性能的比例、異常的比例、或異常數量均可觸發熔斷降級。
  • 失敗比例:只能根據異常請求比例觸發熔斷降級策略。

限流:

  • 基于QPS/調用鏈路:基于調用的QPS、調用鏈路都可以做到限流。
  • 有限的控制:沒有專門的限流方案,基于線程池隔離做的,線程池有多少線程數就限制到多少。

流量整形:

  • 慢調用/排隊等待:避免突發流量的暴增而引起系統崩潰,而Hystrix則沒有解決方案

控制臺:

  • Sentinel有較為完善的控制臺,界面化操作實時生效,而Hystrix只能查看一下服務狀態,不可動態調整。

對比可以發現Hystrix的重點在于隔離、熔斷為主的容錯機制,而Sentinel的側重點在于:多樣化的流量控制、熔斷降級、系統保護、實時監控和控制臺。同時基于HyStrix停止維護,加上Sentinel在阿里巴巴經過雙十一的高峰流量驗證,目前國內主流保護還是選擇了后者。因為后續的章節中我們也將借助于Sentinel為大家實踐微服務保護相關的知識點。

1. Sentinel基本概念

資源

資源是 Sentinel 的關鍵概念。它可以是 Java 應用程序中的任何內容,例如,由應用程序提供的服務,或由應用程序調用的其它應用提供的服務,甚至可以是一段代碼。在接下來的文檔中,我們都會用資源來描述代碼塊。

只要通過 Sentinel API 定義的代碼,就是資源,能夠被 Sentinel 保護起來。大部分情況下,可以使用方法簽名,URL,甚至服務名稱作為資源名來標示資源。

規則

圍繞資源的實時狀態設定的規則,可以包括流量控制規則、熔斷降級規則以及系統保護規則。所有規則可以動態實時調整。

2.Sentinel 功能和設計理念

2.1 流量控制

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

圖片圖片

流量控制有以下幾個角度:

  • 資源的調用關系,例如資源的調用鏈路,資源和資源之間的關系;
  • 運行指標,例如 QPS、線程池、系統負載等;
  • 控制的效果,例如直接限流、冷啟動、排隊等。

Sentinel 的設計理念是讓您自由選擇控制的角度,并進行靈活組合,從而達到想要的效果。

2.2 熔斷降級

什么是熔斷降級

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

圖片圖片

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

熔斷降級設計理念

在限制的手段上,Sentinel 和 Hystrix 采取了完全不一樣的方法。

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

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

1.通過并發線程數進行限制

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

2.通過響應時間對資源進行降級

除了對并發線程數進行控制以外,Sentinel 還可以通過響應時間來快速降級不穩定的資源。當依賴的資源出現響應時間過長后,所有對該資

系統負載保護

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

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

2.3. Sentinel 是如何工作的

Sentinel 的主要工作機制如下:

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

責任編輯:武曉燕 來源: springboot葵花寶典
相關推薦

2023-05-05 06:54:07

MySQL數據查詢

2023-03-30 08:26:31

DNSTCPUDP

2023-03-31 08:16:39

CDN網絡數據

2023-09-07 07:13:51

2024-03-12 08:37:32

asyncawaitJavaScript

2023-08-01 12:51:18

WebGPT機器學習模型

2024-01-02 12:05:26

Java并發編程

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2023-01-10 08:43:15

定義DDD架構

2024-05-11 09:03:26

數據表級鎖事務

2022-08-09 08:25:44

Stream創建流流計算

2024-03-06 08:28:16

設計模式Java

2022-06-16 07:50:35

數據結構鏈表

2022-12-06 07:53:33

MySQL索引B+樹

2023-01-31 08:02:18

2022-07-13 08:16:49

RocketMQRPC日志

2023-06-26 13:08:52

GraphQL服務數據

2024-02-02 11:03:11

React數據Ref
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产农村妇女毛片精品久久麻豆 | 欧美不卡一区二区三区 | 国产精品久久欧美久久一区 | 亚洲精品字幕 | 精品久草 | 成人在线观看免费 | 亚洲欧美日韩精品久久亚洲区 | 日屁视频| 亚洲成人999 | 一二三区av | 伊人91在线 | 国产视频中文字幕 | 亚洲精品成人av久久 | av在线一区二区三区 | 成人av电影天堂 | 玖玖玖在线观看 | 久久伊| 免费国产一区 | 成人网在线观看 | 天天玩夜夜操 | 国产精品久久 | 91精品久久久久久久久久入口 | 国产美女自拍视频 | 亚洲欧美日韩国产综合 | 精久久久 | 狠狠色综合网站久久久久久久 | 亚洲精品久久久久久一区二区 | 91精品国产乱码久久蜜臀 | 欧美群妇大交群中文字幕 | 日韩在线免费看 | 91在线观看 | 日韩三级电影一区二区 | 国产精品久久久久久一级毛片 | 精品久久久久一区二区国产 | 偷拍第一页 | 国产色网站 | 亚洲一区二区三区在线播放 | 国内精品久久久久久影视8 最新黄色在线观看 | 久操国产| 欧美精品一区二区三区在线播放 | 国产精品揄拍一区二区 |