一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 阿里出品的Sentinel到底是個什么玩意?

阿里出品的Sentinel到底是個什么玩意?

2021-03-23 01:53今日Java麥洛 編程技術

Sentinel是阿里開源的項目,定位為面向分布式服務架構的高可用流量控制組件。主要以流量為切入點,從流量控制、熔斷降級、系統自適應保護等多個維度來幫助用戶保障微服務的穩定性。

 Sentinel簡介

阿里出品的Sentinel到底是個什么玩意?

Sentinel是阿里開源的項目,定位為面向分布式服務架構的高可用流量控制組件。主要以流量為切入點,從流量控制、熔斷降級、系統自適應保護等多個維度來幫助用戶保障微服務的穩定性。

Sentinel 介紹

隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 應運而生。

Sentinel 開發人員介紹

吃水不忘挖井人,感謝這些大佬

阿里出品的Sentinel到底是個什么玩意?

Sentinel 的主要特性

阿里出品的Sentinel到底是個什么玩意?

Sentinel 分為兩個部分:

  • 核心庫(Java 客戶端)不依賴任何框架/庫,能夠運行于所有 Java 運行時環境,同時對 Dubbo / Spring Cloud 等框架也有較好的支持。
  • 控制臺(Dashboard)基于 Spring Boot 開發,打包后可以直接運行,不需要額外的 Tomcat 等應用容器。

Sentinel 基本概念

 

資源

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

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

規則

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

Sentinel 功能和設計理念

阿里出品的Sentinel到底是個什么玩意?

熔斷降級

 

什么是熔斷降級

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

阿里出品的Sentinel到底是個什么玩意?

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

熔斷降級設計理念

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

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

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

  • 通過并發線程數進行限制

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

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

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

系統負載保護

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

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

Sentinel 是如何工作的

Sentinel 的主要工作機制如下:

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

Sentinel控制臺搭建

1.首先我們需要前往官網下載jar包

https://github.com/alibaba/Sentinel/releases

阿里出品的Sentinel到底是個什么玩意?

2.打開jar包所在目錄,并且打開命令行窗口

阿里出品的Sentinel到底是個什么玩意?

3.啟動

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


java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.1.jar 

說明

其中 -Dserver.port=8080 用于指定 Sentinel 控制臺端口為 8080

如果你已經下載好了其他版本的jar包,請將命令sentinel-dashboard-1.8.1.jar 替換為你的jar包名稱

阿里出品的Sentinel到底是個什么玩意?

4.sentinel.dashboard就是一個springboot工程,可以看到項目已經在8080端口啟動

阿里出品的Sentinel到底是個什么玩意?

5.在瀏覽器中輸入url:localhost:8080后即可進入主頁面。

阿里出品的Sentinel到底是個什么玩意?

6.登錄成功以后如下圖所示

阿里出品的Sentinel到底是個什么玩意?

原文地址:https://mp.weixin.qq.com/s/ndqfaW24jox8k3T9zfQ3Tg

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产女乱淫真高清免费视频 | 欧美人妖另类性hd | 国产精品网站在线观看 | 亚洲视频在线免费 | 国产免费好大好硬视频 | 日本欧美强乱视频在线 | 成人免费视屏 | 亚洲国产精品久久网午夜小说 | 青青操在线观看 | ts视频在线观看 | 国产一级黄毛片 | 高h辣h双处全是肉军婚 | 99青青青精品视频在线 | 日韩妹妹| 俺去俺来也在线www色官网 | 男人使劲躁女人视频免费 | 国产3p绿奴在线视频 | 欧美日韩综合一区 | 亚洲 欧美 日韩 综合 | 国产精品亚洲片在线观看麻豆 | 香蕉国产人午夜视频在线 | 成人免费观看一区二区 | 国产婷婷综合丁香亚洲欧洲 | 扒开尿口| 高清一区 | 九九热在线免费观看 | japanese厕所撒尿 | 天天色综合久久 | 亚洲另类老妇videos | 欧美另类bbbxxxxx另类 | 成人亚洲欧美日韩在线观看 | 日本精品欧洲www | 爽爽窝窝午夜精品一区二区 | 精品午夜寂寞黄网站在线 | 成人福利视频网址 | 精品国产91高清在线观看 | 亚洲人成毛片线播放 | 午夜欧美福利视频 | 日韩欧美在线一区二区三区 | 跪趴好紧h| 色综合久久98天天综合 |