7張圖帶你搞懂負(fù)載均衡器
你可能已經(jīng)多次聽(tīng)說(shuō)過(guò)Load Balancer(此負(fù)載均衡器)。負(fù)載均衡基本上意味著在多個(gè)服務(wù)器之間分配網(wǎng)絡(luò)流量,這樣可以確保沒(méi)有任何一臺(tái)服務(wù)器自己承擔(dān)所有負(fù)載。當(dāng)網(wǎng)絡(luò)流量平衡時(shí),應(yīng)用程序就可以平穩(wěn)運(yùn)行。
像往常一樣,我?guī)?lái)了另一本漫畫(huà)教程,該教程將以最簡(jiǎn)單的方式解釋負(fù)載均衡器。
從上圖可以看到,有一個(gè)簡(jiǎn)單的客戶端-服務(wù)器方案。這里只有一個(gè)客戶端,因此我們的服務(wù)器可以輕松地滿足客戶端的請(qǐng)求。
當(dāng)客戶數(shù)量有限時(shí),一切都會(huì)進(jìn)行得很好。
但是現(xiàn)在,當(dāng)客戶端數(shù)量增加時(shí),即服務(wù)器上的負(fù)載增加時(shí),真正的問(wèn)題就開(kāi)始了。
一臺(tái)服務(wù)器無(wú)法承受所有客戶端請(qǐng)求的負(fù)載。
為了解決這個(gè)問(wèn)題,我們需要更多的服務(wù)器。
另外,我們還需要一種在這些服務(wù)器之間平衡所有客戶端請(qǐng)求負(fù)載的方法。
負(fù)載均衡器來(lái)了。
Load Balancer位于服務(wù)器的前面,將所有傳入的客戶端請(qǐng)求(流量)引導(dǎo)到服務(wù)器。
這樣,任何服務(wù)器的承載能力都不會(huì)過(guò)載。
從上圖,你可以看到負(fù)載均衡器是如何在服務(wù)器之間平衡或分配負(fù)載的。
這將減少停機(jī)時(shí)間并提高網(wǎng)站的性能。
因?yàn)?,?fù)載均衡器可以在服務(wù)器之間平衡或分配客戶端的負(fù)載(或流量),因此客戶端只需要和負(fù)載均衡器通信交互即可。
通過(guò)這種方式,負(fù)載均衡器在服務(wù)器上分配和路由客戶端請(qǐng)求,如果服務(wù)器出現(xiàn)任何故障,負(fù)載均衡器也會(huì)處理故障。
像AWS和Azure這樣的云提供商也都擁有自己的負(fù)載均衡服務(wù),例如Elastic Load Balancer和Azure Load Balancer。
但是在研究這些服務(wù)之前,你需要清楚了解負(fù)載均衡的概念。