偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

故障轉(zhuǎn)移,服務(wù)發(fā)現(xiàn),負(fù)載均衡,居然都和它有關(guān)?。?!

開(kāi)發(fā) 開(kāi)發(fā)工具 架構(gòu)
上層調(diào)用方,除了會(huì)從連接池中拿連接收發(fā)報(bào)文訪問(wèn)下游服務(wù)外,互聯(lián)網(wǎng)架構(gòu)中,還有哪些技術(shù)點(diǎn)與連接池相關(guān)呢?

沒(méi)錯(cuò),說(shuō)的就是連接池,玩互聯(lián)網(wǎng)架構(gòu),連接池是必須要掌握的。

什么是連接池?

創(chuàng)建與管理連接緩沖池的技術(shù),本質(zhì)是資源復(fù)用,不用頻繁創(chuàng)建與銷毀連接,能提高性能。

畫外音:數(shù)據(jù)庫(kù)連接池,服務(wù)連接池,都是連接池。

微服務(wù)分層架構(gòu)中,連接池扮演著極其重要的角色。

如上圖:

  • 上層虛線框,是web集群;
  • 下層虛線框,是service集群;
  • 綠色框,代表一條上下游建立的連接;
  • 藍(lán)色框,代表連接池;

此例中,一個(gè)調(diào)用方會(huì)與一個(gè)服務(wù)節(jié)點(diǎn)建立2條連接,服務(wù)集群共3個(gè)集群,故連接池總共6條連接,從c1到c6。

上層調(diào)用方,除了會(huì)從連接池中拿連接收發(fā)報(bào)文訪問(wèn)下游服務(wù)外,互聯(lián)網(wǎng)架構(gòu)中,還有哪些技術(shù)點(diǎn)與連接池相關(guān)呢?

一、故障轉(zhuǎn)移與服務(wù)發(fā)現(xiàn)

如上圖:

  • 故障轉(zhuǎn)移,假如舊的服務(wù)節(jié)點(diǎn)s1出現(xiàn)了故障,c1和c2連接失效,會(huì)被從連接池中剔除,后續(xù)請(qǐng)求不會(huì)再發(fā)送到故障的節(jié)點(diǎn)中;
  • 服務(wù)發(fā)現(xiàn),假如新的服務(wù)節(jié)點(diǎn)s4上線,c7和c8連接建立,會(huì)被加入到連接池中來(lái),后續(xù)請(qǐng)求會(huì)發(fā)送到新增的節(jié)點(diǎn)中;

動(dòng)態(tài)刪除連接與新增連接,這就是動(dòng)態(tài)連接池。

服務(wù)發(fā)現(xiàn),如何感知到新的節(jié)點(diǎn)s4上線呢?詳見(jiàn)《改了配置,不想重啟,怎么整?》。

二、負(fù)載均衡

采用輪詢的策略,逐個(gè)使用連接池中的連接,可以實(shí)現(xiàn)對(duì)下游服務(wù)訪問(wèn)的負(fù)載均衡。

采用完全隨機(jī)的策略,也能實(shí)現(xiàn)負(fù)載均衡。

如上圖:

給每個(gè)連接一個(gè)相同的權(quán)重,取連接訪問(wèn)下游時(shí),采用一個(gè)隨機(jī)算法,落到哪個(gè)格子用哪個(gè)連接,還是上面的例子:

  1. n = random() % 6 + 1; 

當(dāng)

  • n=[1,2],訪問(wèn)s1;
  • n=[3,4],訪問(wèn)s2;
  • n=[5,6],訪問(wèn)s3;

3個(gè)區(qū)間的寬度相同,即落到某個(gè)服務(wù)的概率相等,負(fù)載是均衡的。

那么,如果服務(wù)節(jié)點(diǎn)的服務(wù)能力有差異,有的處理能力強(qiáng),有的處理能力弱,怎么辦呢?

三、靜態(tài)權(quán)重負(fù)載均衡

如上圖:

給每個(gè)服務(wù)配置一個(gè)不同的權(quán)重,連接池初始化時(shí),不同服務(wù)的區(qū)間大小有差異,取連接訪問(wèn)下游時(shí),落到某個(gè)格子的概率也會(huì)有差異:

  1. n = random() % 16 + 1; 

當(dāng)

  • n=[1,2],訪問(wèn)s1;
  • n=[3,6],訪問(wèn)s2;
  • n=[7,16],訪問(wèn)s3;

3個(gè)區(qū)間的寬度與服務(wù)的權(quán)重成正比,即落到某個(gè)服務(wù)的概率等同權(quán)重。

畫外音:nginx就支持這么玩,但靜態(tài)權(quán)重實(shí)在太粗暴了。

那么,如果服務(wù)節(jié)點(diǎn)的服務(wù)能力有差異,但又很難用靜態(tài)權(quán)重標(biāo)識(shí),怎么辦呢?

四、動(dòng)態(tài)權(quán)重負(fù)載均衡

如上圖:連接池初始化時(shí),為連接分配一個(gè)動(dòng)態(tài)的權(quán)重。

畫外音:服務(wù)不再需要配置了。

仍按照之前的方法分配負(fù)載,只是:

  • 連接處理超時(shí),動(dòng)態(tài)權(quán)重下降;
  • 連接處理成功,動(dòng)態(tài)權(quán)重上升;

更具體的細(xì)節(jié),詳見(jiàn)《異構(gòu)服務(wù)器的負(fù)載均衡,怎么設(shè)計(jì)?》。

如此一來(lái),就能夠根據(jù)服務(wù)的實(shí)際處理能力分配負(fù)載了,是不是有點(diǎn)意思?

故障轉(zhuǎn)移,服務(wù)發(fā)現(xiàn),負(fù)載均衡,靜態(tài)權(quán)重/動(dòng)態(tài)權(quán)重負(fù)載均衡,你有收獲嗎?

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】

戳這里,看該作者更多好文

 

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專欄
相關(guān)推薦

2020-04-15 22:18:55

架構(gòu)負(fù)載均衡分布式

2019-09-19 09:03:13

Docker負(fù)載均衡服務(wù)

2010-04-22 10:46:40

Lvs負(fù)載均衡故障負(fù)載均衡器

2019-09-19 14:57:27

Docker語(yǔ)言技術(shù)

2023-10-08 07:15:54

NGINX網(wǎng)關(guān)參數(shù)

2010-05-05 17:53:56

web負(fù)載均衡

2017-06-06 12:09:11

2010-04-22 23:33:48

負(fù)載均衡設(shè)置

2015-08-06 09:49:54

網(wǎng)絡(luò)故障負(fù)載均衡

2010-04-21 14:54:45

負(fù)載均衡服務(wù)

2010-04-20 21:12:34

負(fù)載均衡解決方案

2019-06-09 09:13:14

Istio負(fù)載均衡架構(gòu)

2023-07-04 07:45:11

gogRPC服務(wù)

2017-07-03 08:08:25

負(fù)載均衡分類

2010-04-22 17:25:24

網(wǎng)絡(luò)負(fù)載均衡

2010-03-30 13:37:14

Nginx負(fù)載均衡

2017-01-23 17:34:28

2015-08-24 11:02:56

網(wǎng)絡(luò)故障負(fù)載均衡

2022-07-20 23:08:55

互聯(lián)網(wǎng)業(yè)務(wù)EDAC設(shè)備故障

2010-05-05 18:44:27

服務(wù)器負(fù)載均衡
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)