分布式技術(shù)三:微服務(wù)治理方案全家桶——Spring Cloud Alibaba

一哈街、什么是Spring Cloud Alibaba留瞳?

1、什么是微服務(wù)骚秦?

微服務(wù)其實是SOA的一種延伸她倘,它的思想是將單一應(yīng)用程序劃分成一組小的服務(wù),服務(wù)之間互相協(xié)調(diào)作箍、互相配合帝牡,為用戶提供最終價值。每個服務(wù)運行在其獨立的進(jìn)程中蒙揣,服務(wù)于服務(wù)間采用輕量級的通信機制互相溝通靶溜。每個服務(wù)都圍繞著具體業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠獨立地部署到生產(chǎn)環(huán)境、類生產(chǎn)環(huán)境等罩息。另外嗤详,應(yīng)盡量避免統(tǒng)一的、集中式的服務(wù)管理機制瓷炮,對具體的一個服務(wù)而言葱色,應(yīng)根據(jù)上下文,選著合適的語言娘香、工具對其進(jìn)行構(gòu)建苍狰。

簡言之,微服務(wù)是將一個大型應(yīng)用烘绽,根據(jù)應(yīng)用有界上下文劃分為獨立的服務(wù)組件淋昭,完成了對服務(wù)的進(jìn)一步解耦。這樣強化了SOA的優(yōu)勢安接,但是在開發(fā)時翔忽,需要考慮的問題就會更多,就需要更多的解決方案盏檐。

2歇式、什么是Spring Cloud?

根據(jù)官網(wǎng)的描述:Spring Cloud 為開發(fā)者提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理胡野、服務(wù)發(fā)現(xiàn)材失、斷路器、智能路由硫豆、微代理龙巨、控制總線、一次性令牌够庙、全局鎖恭应、領(lǐng)導(dǎo)選舉抄邀、分布式會話耘眨、集群狀態(tài))。分布式系統(tǒng)的協(xié)調(diào)導(dǎo)致了樣板模式境肾,使用 Spring Cloud 開發(fā)人員可以快速建立實現(xiàn)這些模式的服務(wù)和應(yīng)用程序剔难。它們將適用于任何分布式環(huán)境,包括開發(fā)人員自己的筆記本電腦奥喻、裸機數(shù)據(jù)中心和托管平臺(如 Cloud Foundry)偶宫。

簡言之,Spring Cloud是解決分布式應(yīng)用的問題的一站式方案环鲤,是基于Spring Boot纯趋,讓應(yīng)用從單機、集群向分布式轉(zhuǎn)化的一套工具。Spring Cloud是微服務(wù)時代的產(chǎn)物吵冒。

Spring Boot整合Spring Cloud在某種意義上纯命,類似于Spring MVC向Spring Boot的過渡。將松散的解決方案集合成一站式痹栖,減輕開發(fā)適配的負(fù)擔(dān)亿汞。讓開發(fā)專注于解決問題,而不需要過多的花費精力專注于到底怎么進(jìn)行組件間的適配揪阿。(在肯德基消費時這種問題就會很明顯疗我,帶著鼓鼓的錢包思考如何搭配漢堡小食飲料,但是目的只有想吃飽南捂!那不如花一點優(yōu)惠吴裤,去選個全家桶,吃不飽再弄點別的黑毅,選擇性也更高嚼摩。開箱即用對于大多數(shù)玩家,是最好的選擇)

二矿瘦、服務(wù)注冊與服務(wù)發(fā)現(xiàn):Nacos

1枕面、什么是Nacos?

Nacos和Zookeeper缚去、Eureka的功能大體一致潮秘,都可以作為服務(wù)的注冊中心,實現(xiàn)服務(wù)的注冊與發(fā)現(xiàn)易结。在Spring Cloud Netflix版本中枕荞,推薦使用的注冊中心為Eureka,在之前結(jié)合Dubbo通信組件時搞动,Dubbo推薦的注冊中心是Zookeeper躏精。

在注冊中心的選型當(dāng)中,繞不開的話題就是CAP理論(CP還是AP鹦肿,沒有CA矗烛,如果不能容錯,服務(wù)將面臨毀滅性的打擊)箩溃。Eureka采用的AP模式瞭吃,提供了可用性和分區(qū)容錯。以AP設(shè)計思想所實現(xiàn)分布式注冊中心涣旨,大體上會去中心化歪架,使得每個節(jié)點都具有同等地位,采用相互注冊設(shè)計思想霹陡,這樣的設(shè)計使得只要有一個注冊節(jié)點存活和蚪,整個微服務(wù)就可以實現(xiàn)不會崩潰止状。Zookeeper區(qū)別于Eureka,采用的是CP的設(shè)計攒霹,實現(xiàn)了一致性和分區(qū)容錯导俘。以CP設(shè)計思想所實現(xiàn)分布式注冊中心,大體上都需要有主次之分剔蹋,當(dāng)主節(jié)點宕機旅薄,集群會進(jìn)行重新選舉并推選出新一個主節(jié)點,然后進(jìn)行數(shù)據(jù)的同步泣崩,以此來保持?jǐn)?shù)據(jù)一致性少梁。

Nacos是混合配置(既支持CP有支持AP,默認(rèn)為AP)矫付。

2凯沪、Nacos快速開始(請參考官方文檔,注意版本協(xié)調(diào))

3买优、Nacos原理

I妨马、注冊服務(wù)

II、監(jiān)聽心跳

三杀赢、服務(wù)調(diào)用OpenFeign

四烘跺、負(fù)載均衡:

1、Ribbon

2脂崔、LoadBalance

五滤淳、流量控制:Sentinel

1、雪崩

2砌左、防止雪崩

I脖咐、限流

①、直連限流

②汇歹、關(guān)聯(lián)限流

③屁擅、鏈路限流

“背黑鍋我來,送死你去”

④产弹、限流恢復(fù)

  • 快速失敗
  • 預(yù)熱
  • 排隊的等待

II派歌、降級熔斷

①、慢調(diào)用比

當(dāng)單個請求的響應(yīng)時間超過閾值(RT設(shè)置的時間)取视,進(jìn)入準(zhǔn)降級狀態(tài)硝皂。在接下來 1秒內(nèi)若連續(xù) 5 個請求響應(yīng)時間均超過RT常挚,則進(jìn)行降級作谭,持續(xù)時間為時間窗口的值。

②奄毡、異常比

每秒出現(xiàn)的異常請求量與通過量的比大于閾值時折欠,就進(jìn)行降級處理,持續(xù)時間為時間窗口的值。

③锐秦、異常數(shù)

1 分鐘內(nèi)的出現(xiàn)異常的請求數(shù)超過閾值就進(jìn)行降級處理咪奖,降級時間也為時間窗口的值,這里設(shè)置降級時間最好大于 60秒酱床,防止服務(wù)剛結(jié)束熔斷羊赵,又進(jìn)入下一次熔斷了。

III扇谣、熱點與授權(quán)

  • 熱點規(guī)則:更細(xì)粒度出的流控昧捷,可以具體到對某個熱點參數(shù)的進(jìn)行限流。設(shè)置限流策略后罐寨,如果帶著被限流參數(shù)的請求量超過閾值靡挥,則進(jìn)行限流,時間為統(tǒng)計窗口時長鸯绿。通過@SentinelResource注解跋破,實現(xiàn)對資源進(jìn)行流控。
  • 授權(quán)規(guī)則:給指定的資源設(shè)置流控應(yīng)用(追加參數(shù))瓶蝴,可以對流控應(yīng)用進(jìn)行訪問權(quán)限的設(shè)置毒返,具體就是添加白名單和黑名單。通過實現(xiàn) RequestOriginParser舷手,給請求指定流控應(yīng)用接口來完成饿悬。

六、服務(wù)網(wǎng)關(guān):Gateway

1聚霜、什么是Gateway

2狡恬、與Nginx的異同

3、網(wǎng)關(guān)的結(jié)構(gòu)

4蝎宇、網(wǎng)關(guān)限流

七弟劲、分布式事務(wù):Seata

八、整合Dubbo

九姥芥、鏈路追蹤SkyWalking

十兔乞、消息隊列(該處在后續(xù)內(nèi)容再進(jìn)討論,本處

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載凉唐,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者庸追。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市台囱,隨后出現(xiàn)的幾起案子淡溯,更是在濱河造成了極大的恐慌,老刑警劉巖簿训,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咱娶,死亡現(xiàn)場離奇詭異米间,居然都是意外死亡,警方通過查閱死者的電腦和手機膘侮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門屈糊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人琼了,你說我怎么就攤上這事逻锐。” “怎么了雕薪?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵谦去,是天一觀的道長。 經(jīng)常有香客問我蹦哼,道長鳄哭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任纲熏,我火速辦了婚禮妆丘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘局劲。我一直安慰自己勺拣,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布鱼填。 她就那樣靜靜地躺著药有,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苹丸。 梳的紋絲不亂的頭發(fā)上愤惰,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音赘理,去河邊找鬼宦言。 笑死,一個胖子當(dāng)著我的面吹牛商模,可吹牛的內(nèi)容都是我干的奠旺。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼施流,長吁一口氣:“原來是場噩夢啊……” “哼响疚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瞪醋,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤忿晕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后趟章,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杏糙,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年蚓土,在試婚紗的時候發(fā)現(xiàn)自己被綠了宏侍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蜀漆,死狀恐怖谅河,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情确丢,我是刑警寧澤绷耍,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站鲜侥,受9級特大地震影響褂始,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜描函,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一崎苗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舀寓,春花似錦胆数、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至篡撵,卻和暖如春判莉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背育谬。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工骂租, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人斑司。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓渗饮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宿刮。 傳聞我的和親對象是個殘疾皇子互站,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

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