鍍金池/ 問(wèn)答/Java  Linux/ 關(guān)于負(fù)載均衡的奇怪想法

關(guān)于負(fù)載均衡的奇怪想法

以下以java為基礎(chǔ)討論。

一般負(fù)載均衡,都是1個(gè)nginx 帶N個(gè)tomcat。

更進(jìn)一步,為了避免這個(gè)nginx掛掉,可能就用SLB(最近聽(tīng)到的阿里的項(xiàng)目)來(lái)帶N個(gè)nginx。

于是疑惑開(kāi)始,是否,更進(jìn)一步,為了避免這個(gè)SLB掛掉,我們還需要在它之上再使用某些項(xiàng)目,來(lái)帶N個(gè)SLB?

這樣好像金字塔式的布局,最頂?shù)哪且粋€(gè)服務(wù)為了避免掛掉,又會(huì)要求上層繼續(xù)有更高層的保障措施,不就無(wú)窮無(wú)盡了嗎?

回答
編輯回答
凹凸曼

不會(huì)無(wú)窮無(wú)盡,因?yàn)槿魏螌?duì)外提供的服務(wù)都是有一個(gè)交互的起點(diǎn)。
以訪問(wèn)一個(gè)網(wǎng)站的主頁(yè)為例,其起點(diǎn)就是請(qǐng)求DNS,DNS服務(wù)器由ISP或大型專業(yè)服務(wù)公司提供,一般都可以認(rèn)為這個(gè)是100%可靠的。
當(dāng)DNS返回一個(gè)地址給用戶后,用戶請(qǐng)求這個(gè)地址,這個(gè)地址的可靠性由網(wǎng)站保障,網(wǎng)站可以通過(guò)負(fù)載均衡技術(shù)讓多個(gè)服務(wù)器(或多個(gè)層級(jí)的服務(wù)器)共同為這個(gè)地址的請(qǐng)求提供服務(wù)。
這種情況下,只要用戶到達(dá)這個(gè)地址的網(wǎng)絡(luò)路徑是通的就沒(méi)問(wèn)題,如果路徑上存在問(wèn)題,例如核心交換機(jī)故障、機(jī)房斷電、光纖被挖等等,這種情況下,這個(gè)地址在網(wǎng)絡(luò)層面就不可靠了。
那么如果想進(jìn)一步提高可靠性,就需要配置多個(gè)地址,一個(gè)地址掛了后,讓DNS解析到另外一個(gè)地址,另外一個(gè)地址可以在不同的機(jī)房、城市、省份甚至國(guó)家。

2017年1月21日 16:11
編輯回答
薄荷糖

不會(huì),因?yàn)樾枨笫菬o(wú)限的,但預(yù)算是有限的……
╮(╯▽╰)╭
理論上無(wú)解的問(wèn)題,到了現(xiàn)實(shí)中往往換個(gè)思路就好了。比如tomcat比較吃資源,那么就把它獨(dú)立出來(lái)專職跑計(jì)算嘛;SLB倒是需要熱備~但鈔票都交了,干嘛不把問(wèn)題丟阿里呢;還有運(yùn)營(yíng)上有沒(méi)有辦法提前做分流?架構(gòu)有沒(méi)有手段進(jìn)一步優(yōu)化?……辦法總比困難多嘛。

2017年12月12日 10:49
編輯回答
不歸路

層層堆疊并沒(méi)有什么用,到最后還是一個(gè)入口。這個(gè)只能是通過(guò)測(cè)試什么的使無(wú)障礙時(shí)間比例提高。
我是這么想的。

2018年5月7日 02:29
編輯回答
憶當(dāng)年

并不是完成是這樣的,設(shè)備和軟件集群要解決兩個(gè)問(wèn)題: 負(fù)載均衡(load balance),高可用(failover)

前端負(fù)載均衡:并行的設(shè)備越多承載力一般越強(qiáng).但也不是線性的.
高可用:至少要消除單點(diǎn)故障的可能性.

消除單點(diǎn)故障要在網(wǎng)絡(luò)的每一層做工作.
如:異地雙活. 每個(gè)機(jī)房要至少雙線接入, 電源要雙路, 磁盤(pán)要raid1, 機(jī)器網(wǎng)多網(wǎng)卡, DNS可以解析出多個(gè)IP,
雙路由, 雙防火墻,雙交換機(jī)等等.

這些雙活設(shè)備需要僅需要交叉接入即可. 并不需要在同一層堆疊很多. 總之橫向擴(kuò)展并不需層的累積. 對(duì)于中心網(wǎng)站前端負(fù)載均衡設(shè)備一般只需雙機(jī)熱備就好.

附個(gè)不是很恰當(dāng)?shù)膱D, 表達(dá)一下

圖片描述

2018年9月16日 03:28