springcloud-alibaba-sentinel(1)sentinel流量卫兵介绍
文章目錄
- 前言
- (1)什么是sentinel
- (2)sentinel的歷史
- (3)sentinel的特性
- (4)核心概念
- 資源
- 規則
- (5)sentinel的生態景觀
- (6)sentinel組成
前言
在前邊已經初步介紹并使用了微服務保護組件—Hystrix,但hystrix目前已經停止維護了!
詳情請查看:spring-cloud(七)微服務保護篇(一)Hystrix
最近呢,我在學習阿里系的微服務生態,其中呢,正好有的可替代hystrix功能的組件—sentinel
sentinel這個詞呢,使用過redis 哨兵模式的小伙伴一定不會陌生…
sentinel到底是什么呢?請繼續看下文…
(1)什么是sentinel
-
隨著分布式系統變得越來越流行,服務之間的可靠性變得比以往任何時候都更加重要。Sentinel是強大的流控制組件,以“流”為切入點,涵蓋多個領域,包括流控制,并發限制,電路中斷和自適應系統保護,以確保微服務的可靠性。
-
簡單來說呢,sentinel就是用來在微服務系統中保護微服務的一個組件,例如防止服務雪崩進行服務熔斷 服務降級;其也是cloud-alibaba用來替換老牌netflix的微服務保護組件hystrix
-
sentinel呢,也就是我們日常開發說講的流量衛兵
(2)sentinel的歷史
- 2012年,Sentinel誕生于阿里巴巴,其主要目標是流量控制。
- 2013-2017年,Sentinel迅速發展,并成為阿里巴巴所有微服務的基本組成部分。它已在6000多個應用程序中使用,涵蓋了幾乎所有核心電子商務場景。
- 2018年,Sentinel演變為一個開源項目。
- 2020年,Sentinel Golang發布。
(3)sentinel的特性
- 豐富的應用場景:Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺(即突發流量控制在系統容量可以承受的范圍)、消息削峰填谷、集群流量控制、實時熔斷下游不可用應用等。
- 完備的實時監控:Sentinel 同時提供實時的監控功能。您可以在控制臺中看到接入應用的單臺機器秒級數據,甚至 500 臺以下規模的集群的匯總運行情況。
- 廣泛的開源生態:Sentinel 提供開箱即用的與其它開源框架/庫的整合模塊,例如與 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相應的依賴并進行簡單的配置即可快速地接入 Sentinel。
(4)核心概念
資源
- 資源是Sentinel中的關鍵概念。它可以是任何東西,例如服務,方法,甚至是代碼片段。一旦被Sentinel API包裝,它就被定義為資源,并且可以申請Sentinel提供的保護。
規則
- Sentinel保護資源的方式由規則定義,例如流控制,并發和斷路規則。規則可以動態更改,并實時生效。
(5)sentinel的生態景觀
(6)sentinel組成
sentinel大體作用雖與hystrix一致,但不同的是,其分為兩個部分
-
核心庫
核心庫(java客戶端)不依賴任何框架/庫,能夠運? 于所有 Java 運?時環境,同時對 Dubbo、Spring Cloud 等框架也有較好的?持。
-
服務端
sentinel dashboard 用來監控微服務系統中流量調用等情況,是基于Spring Boot 開發,打包后可以直接運?。
總結
以上是生活随笔為你收集整理的springcloud-alibaba-sentinel(1)sentinel流量卫兵介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Redis】数据结构的应用——GEO
- 下一篇: “POW'ER 2020 DEFI 创新