http 重定向
對於http 重定向,你一定不陌生,它可以將 http 請求進行轉移,在 web 開發中我們經常會用它來完成自動跳轉,比如使用者登入成功後跳轉到相應的管理頁面。 這種重定向完全由http 定義,並且由http **和web 伺服器共同實現。很簡單,當http **(比如瀏覽器)向web伺服器請求某個url後,web 伺服器可以通過http 響應頭資訊中的location 標記來返回乙個新的url,這意味著http**需要繼續請求這個新的url ,這便完成了自動跳轉。當然,如果你自己寫了乙個 http **,也可以不支援重定向,也就是對於web 伺服器返回的location 標記視而不見,雖然這可能不符合http 標準,但這完全取決於你的應用需要。 也正是因為http 重定向具備了請求轉移和自動跳轉的本領,所以除了滿足應用程式需要的各種自動跳轉之外,它還可以用於實現負載均衡,以達到web 擴充套件的目的。
dns 負載均衡
我們知道,dns負責提供網域名稱解析服務,當我們訪問某個站點時,實際上首先需要通過該站點網域名稱的dns伺服器來獲取網域名稱指向的ip 位址,在這一過程中,dns伺服器完成了網域名稱到ip 位址的對映,同樣,這種對映也可以是一對多的,這時候,dns 伺服器便充當了負載均衡排程器(也稱均衡器),它就像前面提到的重定向轉移策略一樣,將使用者的請求分散到多台伺服器上,但是它的實現機制完全不同。
反向**負載均衡
反向**伺服器的核心工作便是** http 請求,因此它工作在 http 層面,也就是 tcp 七層結構中的應用層(第七層),所以基於反向**的負載均衡也稱為七層負載均衡,實現它並不困難,目前幾乎所有主流的 web 伺服器都熱衷於支援基於反向**的負載均衡,隨後我們將進行nginx反向**負載均衡的實驗
ip 負載均衡
事實上,在資料鏈路層(第二層)、網路層(第三層)以及傳輸層(四層)都可以實現不同機制的負載均衡,但有所不同的是,這些負載均衡排程器的工作必須由linux 核心來完成,因為我們希望網路資料報在從核心緩衝區進入程序使用者位址空間之前,盡早地被**到其他實際伺服器上,沒錯,linux 核心當然可以辦得到,位於核心的netfilter和ipvs可以解決問題,而使用者空間的應用程式對此卻束手無策。 另一方面,也正是因為可以將排程器工作在應用層以下,這些負載均衡系統可以支援更多的網路服務協議,比如ftp 、smtp 、dns ,以及流**和vo i p 等應用。
常用負載均衡技術
基於四層交換技術的負載均衡 基於四層交換技術的負載均衡 這種技術是在第四層交換機上設定web服務的虛擬ip位址,這個虛擬ip位址是dns伺服器中解析到的web伺服器的ip位址,對客戶端是可見的。當客戶訪問此web應用時,客戶端的http請求會先被第四層交換機接收到,它將基於第四層交換技術實時檢測後台...
常用負載均衡演算法 nginx負載均衡實現方法
1 輪詢法 將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。2 隨機法 通過系統的隨機演算法,根據後端伺服器的列表大小值來隨機選取其中的一台伺服器進行訪問。由概率統計理論可以得知,隨著客戶端呼叫服務端的次數增多,其實際效果越來越接近於...
常用的負載均衡方法
常用的負載均衡方法 很多的 一開始並不需要太大的規模,但是做為 設計者從一開始就必須考慮到擴充套件,做乙個可擴充套件性強的架構。所謂可擴充套件性就是系統通過規模的擴充套件來提高系統的承載能力,畢竟伺服器自身的垂直擴充套件很快就會受到制約,單機很快便不能滿足我們的需求,因此這種能力往往通過增加物理伺服...