【深入淺出SpringCloud】I'm Ribbon

? ? ? ? 【微服務(wù)>>>負(fù)載均衡】

? ? ? ? 一截珍、簡介

? ? ? ? Ribbon是一個負(fù)載均衡組件凛捏,具有豐富的負(fù)載均衡策略、重試機(jī)制烦磁、支持多協(xié)議的異步與響應(yīng)式模型养匈、容錯、緩存與批處理功能都伪。

? ? ? ? 二呕乎、Ribbon與負(fù)載均衡

? ? ? ? 負(fù)載均衡,即利用特定方式將流量分?jǐn)偟蕉鄠€操作單元上陨晶,它對系統(tǒng)吞吐量與系統(tǒng)處理能力有著質(zhì)的提升猬仁。

? ? ? ? 負(fù)載均衡分類:

? ? ? ? 1??集中式負(fù)載均衡:也叫做服務(wù)端負(fù)載均衡,位于英特網(wǎng)與服務(wù)提供者之間先誉,負(fù)責(zé)把網(wǎng)絡(luò)請求轉(zhuǎn)發(fā)給各個提供單位逐虚,典型產(chǎn)品是Ngixn;

? ? ? ? 2??進(jìn)程負(fù)載均衡:也叫作客戶端負(fù)載均衡谆膳,位于服務(wù)提供者內(nèi)部叭爱,從注冊中心的已注冊實(shí)例庫選取實(shí)例進(jìn)行流量導(dǎo)入,整個過程都是在進(jìn)程間通信漱病。

? ? ? ? Ribbon就是典型的客戶端負(fù)載均衡买雾,它賦予了應(yīng)用一些支配HTTP與TCP行為的能力,如果沒有Ribbon杨帽,Spring Cloud構(gòu)建的服務(wù)則無法橫向擴(kuò)展漓穿,所以Spring Cloud的Feign和Zuul默認(rèn)集成了Ribbon。

? ? ? ? 三注盈、負(fù)載均衡策略

? ? ? ? Ribbon有7中可選的負(fù)載均衡策略晃危,如下:

? ? ? ? RomdomRule:隨機(jī)策略,隨機(jī)選擇 Server老客;

? ? ? ? RoundRobbinRule:輪詢策略僚饭,按順序循環(huán)選擇 Server,該策略是Ribbon默認(rèn)策略胧砰;

? ? ? ? RetryRule:重試策略鳍鸵,在一個配置時間段內(nèi)當(dāng)選擇 server 不成功,則一直嘗試選擇一個可用的 server尉间;

? ? ? ? BestAvailableRule:最低并發(fā)策略偿乖,逐個考察 server击罪,如果 server 斷路器打開,則忽略贪薪,再選擇其中并發(fā)連接最低的 server媳禁;

? ? ? ? AvailabilityFilteringRule:可用過濾策略,過濾掉一直連接失敗并被標(biāo)記為 circuit tripped 的 server画切,過濾掉那些高并發(fā)連接的 server(active connections 超過配置的閥值)竣稽;

? ? ? ? ResponseTimeWeightedRule:響應(yīng)時間加權(quán)策略,根據(jù) server 的響應(yīng)時間分配權(quán)重槽唾。響應(yīng)時間越長丧枪,權(quán)重越低,被選擇到的概率就越低庞萍;響應(yīng)時間越短拧烦,權(quán)重越高,被選擇到的概率就越高钝计。這個策略很貼切恋博,綜合了各種因素,如:網(wǎng)絡(luò)私恬、硬盤债沮、IO等,這些因素直接影響著響應(yīng)時間本鸣;

? ? ? ? ZoneAvoidanceRule:區(qū)域權(quán)衡策略疫衩,綜合判斷 server 所在區(qū)域的性能和 server 的可用性輪詢選擇 server,并且判定一個 AWS Zone 的運(yùn)行性能是否可用荣德,剔除不可用的 Zone 中的所有 server闷煤。

? ? ? ? 四、策略設(shè)置方式

? ? ? ? 1? 全局策略設(shè)置

? ? ? ? 2? 基于注解的策略設(shè)置

? ? ? ? 3? 基于配置文件的策略設(shè)置

? ? ? ? 五涮瞻、調(diào)整Ribbon的加載模式

? ? ? ? Ribbon在進(jìn)行客戶端負(fù)載均衡的時候并不是跟隨服務(wù)的啟動進(jìn)行上下文加載鲤拿,而是在發(fā)生第一次請求的時候才會去創(chuàng)建,即懶加載署咽,所以有時候會導(dǎo)致服務(wù)第一次調(diào)用的超時近顷,介于此問題,可以調(diào)整Ribbon的加載模式為饑餓加載宁否,即在啟動的時候便加載所有配置項(xiàng)的應(yīng)用程序上下文窒升。

? ? ? ? 六、簡單總結(jié)

? ? ? ? Ribbon是一個客戶端負(fù)載均衡組件家淤,能夠?yàn)槲⒎?wù)體系提供合理的流量導(dǎo)入异剥,微服務(wù)體系能夠具備橫向擴(kuò)展的能力,就仰仗于Ribbon絮重。

? ??????

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冤寿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子青伤,更是在濱河造成了極大的恐慌督怜,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狠角,死亡現(xiàn)場離奇詭異号杠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)丰歌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門姨蟋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人立帖,你說我怎么就攤上這事眼溶。” “怎么了晓勇?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵堂飞,是天一觀的道長。 經(jīng)常有香客問我绑咱,道長绰筛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任描融,我火速辦了婚禮铝噩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窿克。我一直安慰自己骏庸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布让歼。 她就那樣靜靜地躺著敞恋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谋右。 梳的紋絲不亂的頭發(fā)上硬猫,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音改执,去河邊找鬼啸蜜。 笑死,一個胖子當(dāng)著我的面吹牛辈挂,可吹牛的內(nèi)容都是我干的衬横。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼终蒂,長吁一口氣:“原來是場噩夢啊……” “哼蜂林!你這毒婦竟也來了遥诉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤噪叙,失蹤者是張志新(化名)和其女友劉穎矮锈,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體睁蕾,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡苞笨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了子眶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瀑凝。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖臭杰,靈堂內(nèi)的尸體忽然破棺而出粤咪,到底是詐尸還是另有隱情,我是刑警寧澤硅卢,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布射窒,位于F島的核電站,受9級特大地震影響将塑,放射性物質(zhì)發(fā)生泄漏脉顿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一点寥、第九天 我趴在偏房一處隱蔽的房頂上張望艾疟。 院中可真熱鬧,春花似錦敢辩、人聲如沸蔽莱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盗冷。三九已至,卻和暖如春同廉,著一層夾襖步出監(jiān)牢的瞬間仪糖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工迫肖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锅劝,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓蟆湖,卻偏偏與公主長得像故爵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子隅津,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

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