亚洲午夜无码久久,今天高清视频免费观看,欧美一夜爽爽爽爽爽爽,在线亚洲欧美日韩精品专区

行業(yè)資訊

  • 首頁
  • 新聞中心
  • 行業(yè)資訊

負(fù)載均衡在分布式架構(gòu)中是怎么玩起來的?宇眾網(wǎng)絡(luò)服務(wù)器租用


2019年10月29日

 什么是負(fù)載均衡(Load balancing)

       在網(wǎng)站創(chuàng)立初期,我們一般都使用單臺機(jī)器對臺提供集中式服務(wù),但隨著業(yè)務(wù)量越來越大,無論性能還是穩(wěn)定性上都有了更大的挑戰(zhàn)。這時候我們就會想到通過擴(kuò)容的方式來提供更好的服務(wù)。我們一般會把多臺機(jī)器組成一個集群對外提供服務(wù)。然而,我們的網(wǎng)站對外提供的訪問入口都是一個的,比如www.taobao.com。那么當(dāng)用戶在瀏覽器輸入www.taobao.com的時候如何將用戶的請求分發(fā)到集群中不同的機(jī)器上呢,這就是負(fù)載均衡在做的事情。

 當(dāng)前大多數(shù)的互聯(lián)網(wǎng)系統(tǒng)都使用了服務(wù)器集群技術(shù),集群即將相同服務(wù)部署在多臺服務(wù)器上構(gòu)成一個集群整體對外提供服務(wù),這些集群可以是Web應(yīng)用服務(wù)器集群,也可以是數(shù)據(jù)庫服務(wù)器集群,還可以是分布式緩存服務(wù)器集群等。

       在實際應(yīng)用中,在Web服務(wù)器集群之前總會有一臺負(fù)載均衡服務(wù)器,負(fù)載均衡設(shè)備的任務(wù)就是作為Web服務(wù)器流量的入口,挑選最合適的一臺Web服務(wù)器,將客戶端的請求轉(zhuǎn)發(fā)給它處理,實現(xiàn)客戶端到真實服務(wù)端的透明轉(zhuǎn)發(fā)。最近幾年很火的「云計算」以及分布式架構(gòu),本質(zhì)上也是將后端服務(wù)器作為計算資源、存儲資源,由某臺管理服務(wù)器封裝成一個服務(wù)對外提供,客戶端不需要關(guān)心真正提供服務(wù)的是哪臺機(jī)器,在它看來,就好像它面對的是一臺擁有近乎無限能力的服務(wù)器,而本質(zhì)上,真正提供服務(wù)的是后端的集群。

       軟件負(fù)載解決的兩個核心問題是:選誰、轉(zhuǎn)發(fā),其中最著名的是LVS(Linux Virtual Server)。

一個典型的互聯(lián)網(wǎng)應(yīng)用的拓?fù)浣Y(jié)構(gòu)是這樣的:

 負(fù)載均衡分類

       現(xiàn)在我們知道,負(fù)載均衡就是一種計算機(jī)網(wǎng)絡(luò)技術(shù),用來在多個計算機(jī)(計算機(jī)集群)、網(wǎng)絡(luò)連接、CPU、磁碟驅(qū)動器或其它資源中分配負(fù)載,以達(dá)到最佳化資源使用、最大化吞吐率、最小化響應(yīng)時間、同時避免過載的目的。那么,這種計算機(jī)技術(shù)的實現(xiàn)方式有多種。大致可以分為以下幾種,其中最常用的是四層和七層負(fù)載均衡:

       二層負(fù)載均衡

       負(fù)載均衡服務(wù)器對外依然提供一個VIP(虛IP),集群中不同的機(jī)器采用相同IP地址,但機(jī)器的MAC地址不一樣。當(dāng)負(fù)載均衡服務(wù)器接受到請求之后,通過改寫報文的目標(biāo)MAC地址的方式將請求轉(zhuǎn)發(fā)到目標(biāo)機(jī)器實現(xiàn)負(fù)載均衡。

       三層負(fù)載均衡

       和二層負(fù)載均衡類似,負(fù)載均衡服務(wù)器對外依然提供一個VIP(虛IP),但集群中不同的機(jī)器采用不同的IP地址。當(dāng)負(fù)載均衡服務(wù)器接受到請求之后,根據(jù)不同的負(fù)載均衡算法,通過IP將請求轉(zhuǎn)發(fā)至不同的真實服務(wù)器。

       四層負(fù)載均衡

       四層負(fù)載均衡工作在OSI模型的傳輸層,由于在傳輸層,只有TCP/UDP協(xié)議,這兩種協(xié)議中除了包含源IP、目標(biāo)IP以外,還包含源端口號及目的端口號。四層負(fù)載均衡服務(wù)器在接受到客戶端請求后,以后通過修改數(shù)據(jù)包的地址信息(IP+端口號)將流量轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器。

       七層負(fù)載均衡

       七層負(fù)載均衡工作在OSI模型的應(yīng)用層,應(yīng)用層協(xié)議較多,常用http、radius、DNS等。七層負(fù)載就可以基于這些協(xié)議來負(fù)載。這些應(yīng)用層協(xié)議中會包含很多有意義的內(nèi)容。比如同一個Web服務(wù)器的負(fù)載均衡,除了根據(jù)IP加端口進(jìn)行負(fù)載外,還可根據(jù)七層的URL、瀏覽器類別、語言來決定是否要進(jìn)行負(fù)載均衡。

對于一般的應(yīng)用來說,有了Nginx就夠了。Nginx可以用于七層負(fù)載均衡。但是對于一些大的網(wǎng)站,一般會采用DNS+四層負(fù)載+七層負(fù)載的方式進(jìn)行多層次負(fù)載均衡。

宇眾網(wǎng)絡(luò)科技,海內(nèi)外服務(wù)器租用yelaoxs.com


客服