像www.12306.com.cn這種搶列車票的**,每秒鐘百萬級的web端併發訪問量,如果不使用n多台伺服器做整合橫向擴充套件,不說分分鐘,秒秒鐘就掛了。但是,單單部署了n多台伺服器就完事了麼,too yung,too ******,too *****!
下面,我就來介紹一下伺服器負載均衡的辦法吧,常見的幾種:
我們討論的負載均衡一般分為兩種,一種是基於dns,另一種基於ip報文。
dns會將使用者請求的網域名稱對映為實際的ip位址,這種對映可以是一對多的( 即配置多個a記錄,用來指定網域名稱對應的ip位址),這樣dns伺服器便充當負載均衡排程器。
常見的策略是對多個a記錄進行rr(輪詢)。
(缺點:dns生效時間略長,擴充套件性差。)
web伺服器可通過http響應頭資訊中的location標記來返回乙個新的url,瀏覽器自動去訪問這個新的url。
實現辦法:可以通過web應用程式**實現你想到的排程策略,如可根據請求的url的不同來進行合理的過濾和轉移。
(補充,js跨域問題:通過設定w.header().set(「access-control-allow-origin」, 「*」) //允許訪問所有域)
反向**伺服器的核心工作是**http,它工作在http層面,因此,基於反向**的負載均衡也稱為七層負載均衡。
任何對於實際伺服器的http請求都必須經過排程器;排程器必須等待實際伺服器的http響應,並將它反饋給使用者。
實現辦法:**伺服器擁有外部ip位址和內部ip位址。
網路位址轉換(nat)負載均衡工作在傳輸層,對資料報中的ip位址和埠進行修改,從而達到**的目的,稱為四層負載均衡。
nat伺服器(前端伺服器)必須充當實際伺服器(後端伺服器)的閘道器,否則資料報被**後將一去不返。
這種方式工作在資料鏈路層,也成為二層負載均衡。它修改資料報的目標mac位址,並沒有修改目標ip(因為這種**工作在資料鏈路層,它對上層埠是無能為力的 ),然後發給實際的伺服器,實際伺服器的響應資料直接發回給使用者,而不用經過排程器。但實際伺服器必須接入外網,而且不能將排程器作為預設閘道器,所以要給實際伺服器新增和排程器ip位址相同的ip別名。
《構建高效能web站點》(第12章 web負載均衡)
google公司—maglev
ucloud公司—vortex
多少人忙得連寫部落格的時間都沒有喲!
伺服器負載均衡演算法
3.1 伺服器負載均衡演算法 big ip是一台對流量和內容進行管理分配的裝置。它提供10種靈活的演算法將資料流有效地 到它所連線的伺服器群。而面對使用者,只是一台虛擬伺服器。使用者此時只須記住一台伺服器,即虛擬伺服器。但他們的資料流卻被big ip靈活地均衡到所有的伺服器。這10種演算法包括 輪詢...
Nginx tomcat伺服器 負載均衡
反向 reverse proxy 方式是指以 伺服器來接受internet上的連線請求,然後將請求 給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時 伺服器對外就表現為乙個反向 伺服器。1 熱部署 我個人覺得這個很不錯。在master管理程序與worker...
web 伺服器負載均衡
web 應用伺服器集群系統,是由一群同時執行同乙個web應用的伺服器組成的集群系統,在外界看來,就像是乙個伺服器一樣。為了均衡集群服務 器的負載,達到優化系統效能的目的,集群伺服器將眾多的訪問請求,分散到系統中的不同節點進行處理。從而實現了更高的有效性和穩定性,而這也正是基於web的企業應用所必須具...