對伺服器的負載均衡

2022-05-30 22:24:14 字數 2152 閱讀 3124

優點:將負載均衡的工作丟給了dns伺服器去做,省去了**管理人員的維護工作

對於真實位址的伺服器,不需要做任何的配置

簡單易用,成本低,而且方便靈活

伺服器可以放在任何的地方

同時,dns服務還可以做基於地理位置的解析,可以讓乙個距離最近的伺服器的ip位址放回,提高效能

缺點:1.dns服務是有多級的(之後有時間寫乙個詳細的dns服務介紹)

大致上來說,首先是在瀏覽器中有乙個dns快取,如果找不到就在本機位址的hosts檔案中查詢,再找不到就去路由器快取中查詢。然後是本地dns伺服器,如果沒有,就是根伺服器,頂級伺服器,許可權網域名稱伺服器等等等

總之,在每一級都有可能快取這dns的對應關係,所以有可能當某一台真實伺服器下線之後,修改了dns伺服器的記錄,但在生效之前還有一段時間,在這段期間,其ip位址已經不可用了,通過網域名稱進行訪問時還是會訪問到這個ip位址。會訪問失敗

2.dns伺服器和真實伺服器是完全分開的,所以dns的負載均衡不能監測到真是伺服器當前的執行狀態,其負載均衡的效果不是很好

3.可能會造成額外的網路問題。為了使本dns伺服器和其他dns伺服器及時互動,保證dns資料及時更新,使位址能隨機分配,一般都要將dns的重新整理時間設定的較小,但太小將會使dns流量大增造成額外的網路問題。

事實上,大型**都將dns負載均衡作為第一級的負載均衡手段,在伺服器內部再進行第二級的負載均衡,也就是說,我們通過dns得到的ip位址並不是真實伺服器的ip位址,而是內部負載均衡伺服器的ip位址。

2.反向**

**與反向**:vpn服務就是我們常用的一種**(正向**),使用者將請教交給**伺服器,**伺服器訪問**獲取資料,之後**伺服器再將資料返還給使用者。在這個過程中,應用伺服器並不知道使用者的存在。只知道**瀏覽器的訪問。 

反向**是指在伺服器端的**,**伺服器接收使用者的請求,再**給真實伺服器,之後再返回給**伺服器再給使用者,在這個過程中,使用者並不知道真實伺服器的存在。

反向**伺服器管理了一組伺服器,當使用者訪問時,**伺服器根據負載均衡演算法將請求**到真實伺服器,真實伺服器也通過反向**伺服器返還資料。內部伺服器不對外部提供服務,所以不需要外部ip,而反向**伺服器需要兩個網絡卡,乙個ip用於外部使用者訪問使用,另外乙個用於內部使用。 

如上圖所示,當使用者發起請求時(源位址為200.110.50.1),訪問負載均衡伺服器(目的位址為114.100.20.200),負載均衡伺服器在核心程序獲取網路資料報,根據一定的演算法得到乙個真實伺服器的ip位址,其後將ip資料報的目的位址修改為該ip位址(192.168.1.1),之後就會將資料報傳送到該真實伺服器上去,之後再向負載均衡伺服器返回資料,負載均衡伺服器將源位址修改為114.100.20.200後返回給使用者瀏覽器。

優點:反向**伺服器位於應用層,負載均衡方案和反向**伺服器整合在了一起,部署簡單

缺點:反向**伺服器使用者處理所有的請求和響應,其效能可能成為伺服器集群的瓶頸

有名nginx就是反向**服務

3)鏈路層的負載均衡

主要將所有伺服器設定成乙個共享ip位址, 是使用arp協議,把乙個ip位址(114.100.20.200)給廣播出去,我們只讓load balancer 響應這個vip位址(115.39.19.22)的arp請求,對於rs1,rs2,rs3, 抑制住對這個vip位址的arp響應,然後用負載均衡伺服器確定最終的mac位址,其他不變

鏈路層的負載均衡通過修改幀資料報中的mac位址來達到**的目的。這種方法,所有的真實伺服器和負載均衡伺服器都有相同的ip位址,不用修改ip資料報的目的位址和源位址,只通過修改mac位址就可以達到效果,因為請求的ip位址和實際處理的真實伺服器的ip位址一致,所以不需要回到負載均衡伺服器進行位址交換,可以將響應直接發會給使用者瀏覽器,避免了負載均衡伺服器成為傳輸瓶頸的可能

linux中的lvs(linux virtual server)就是鏈路層負載均衡的開源產品

伺服器負載均衡演算法

3.1 伺服器負載均衡演算法 big ip是一台對流量和內容進行管理分配的裝置。它提供10種靈活的演算法將資料流有效地 到它所連線的伺服器群。而面對使用者,只是一台虛擬伺服器。使用者此時只須記住一台伺服器,即虛擬伺服器。但他們的資料流卻被big ip靈活地均衡到所有的伺服器。這10種演算法包括 輪詢...

Nginx tomcat伺服器 負載均衡

反向 reverse proxy 方式是指以 伺服器來接受internet上的連線請求,然後將請求 給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時 伺服器對外就表現為乙個反向 伺服器。1 熱部署 我個人覺得這個很不錯。在master管理程序與worker...

web 伺服器負載均衡

web 應用伺服器集群系統,是由一群同時執行同乙個web應用的伺服器組成的集群系統,在外界看來,就像是乙個伺服器一樣。為了均衡集群服務 器的負載,達到優化系統效能的目的,集群伺服器將眾多的訪問請求,分散到系統中的不同節點進行處理。從而實現了更高的有效性和穩定性,而這也正是基於web的企業應用所必須具...