09.Sentinel 分布式系統(tǒng)的流量防衛(wèi)兵

Sentinel 分布式系統(tǒng)的流量防衛(wèi)兵

什么是服務雪崩

在微服務架構(gòu)中,根據(jù)業(yè)務來拆分成一個個的服務吱肌,服務與服務之間可以通過 HTTP/RPC 相互調(diào)用,在 Spring Cloud 中可以用 RestTemplate + LoadBalanceClientFeign 來調(diào)用。為了保證其高可用,單個服務通常會集群部署萌庆。由于網(wǎng)絡原因或者自身的原因,服務并不能保證 100% 可用币旧,如果單個服務出現(xiàn)問題践险,調(diào)用這個服務就會出現(xiàn)線程阻塞,此時若有大量的請求涌入吹菱,Servlet 容器的線程資源會被消耗完畢巍虫,導致服務癱瘓。服務與服務之間的依賴性鳍刷,故障會傳播占遥,會對整個微服務系統(tǒng)造成災難性的嚴重后果,這就是服務故障的 “雪崩” 效應倾剿。為了解決這個問題筷频,業(yè)界提出了 熔斷器模型

阿里巴巴開源了 Sentinel 組件前痘,實現(xiàn)了熔斷器模式,Spring Cloud 對這一組件進行了整合担忧。在微服務架構(gòu)中芹缔,一個請求需要調(diào)用多個服務是非常常見的

Lusifer201805292246007.png

較底層的服務如果出現(xiàn)故障,會導致連鎖故障瓶盛。當對特定的服務的調(diào)用的不可用達到一個閥值熔斷器將會被打開

Lusifer201901080205008.png

熔斷器打開后最欠,為了避免連鎖故障,通過 fallback 方法可以直接返回一個固定值惩猫。

什么是 Sentinel

隨著微服務的流行芝硬,服務和服務之間的穩(wěn)定性變得越來越重要。Sentinel 以流量為切入點轧房,從流量控制拌阴、熔斷降級、系統(tǒng)負載保護等多個維度保護服務的穩(wěn)定性奶镶。

Sentinel 的特征

  • 豐富的應用場景: Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景迟赃,例如秒殺(即突發(fā)流量控制在系統(tǒng)容量可以承受的范圍)陪拘、消息削峰填谷(對于突然到來的大量請求,您可以配置流控規(guī)則纤壁,以穩(wěn)定的速度逐步處理這些請求左刽,從而避免流量突刺造成系統(tǒng)負載過高)、集群流量控制酌媒、實時熔斷下游不可用應用等
  • 完備的實時監(jiān)控: Sentinel 同時提供實時的監(jiān)控功能欠痴。您可以在控制臺中看到接入應用的單臺機器秒級數(shù)據(jù),甚至 500 臺以下規(guī)模的集群的匯總運行情況
  • 廣泛的開源生態(tài): Sentinel 提供開箱即用的與其它開源框架 / 庫的整合模塊秒咨,例如與 Spring Cloud斋否、Dubbo、gRPC 的整合拭荤。您只需要引入相應的依賴并進行簡單的配置即可快速地接入 Sentinel
  • 完善的 SPI 擴展點: Sentinel 提供簡單易用茵臭、完善的 SPI 擴展接口。您可以通過實現(xiàn)擴展接口來快速地定制邏輯舅世。例如定制規(guī)則管理旦委、適配動態(tài)數(shù)據(jù)源等

Sentinel 的主要特性

50505538-2c484880-0aaf-11e9-9ffc-cbaaef20be2b.png

Sentinel 的開源生態(tài)

46240214-9c72ff80-c3d6-11e8-937a-0cffa1e8dc58.png

Sentinel 的組成

  • 核心庫(Java 客戶端): 不依賴任何框架 / 庫,能夠運行于所有 Java 運行時環(huán)境雏亚,同時對 Dubbo / Spring Cloud 等框架也有較好的支持
  • 控制臺(Dashboard): 基于 Spring Boot 開發(fā)缨硝,打包后可以直接運行,不需要額外的 Tomcat 等應用容器
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罢低,一起剝皮案震驚了整個濱河市查辩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌网持,老刑警劉巖宜岛,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異功舀,居然都是意外死亡萍倡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門辟汰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來列敲,“玉大人,你說我怎么就攤上這事帖汞〈鞫” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵翩蘸,是天一觀的道長所意。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么扁眯? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任壮莹,我火速辦了婚禮,結(jié)果婚禮上姻檀,老公的妹妹穿的比我還像新娘命满。我一直安慰自己,他們只是感情好绣版,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布胶台。 她就那樣靜靜地躺著,像睡著了一般杂抽。 火紅的嫁衣襯著肌膚如雪诈唬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天缩麸,我揣著相機與錄音铸磅,去河邊找鬼。 笑死杭朱,一個胖子當著我的面吹牛阅仔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弧械,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼八酒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刃唐?” 一聲冷哼從身側(cè)響起羞迷,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎画饥,沒想到半個月后衔瓮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡荒澡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年报辱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片单山。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖幅疼,靈堂內(nèi)的尸體忽然破棺而出米奸,到底是詐尸還是另有隱情,我是刑警寧澤爽篷,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布悴晰,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铡溪。R本人自食惡果不足惜漂辐,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棕硫。 院中可真熱鬧髓涯,春花似錦、人聲如沸哈扮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽滑肉。三九已至包各,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間靶庙,已是汗流浹背问畅。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留六荒,地道東北人护姆。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像恬吕,于是被迫代替她去往敵國和親签则。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容