什麼是負載均衡?
負載均衡是由多臺服務器以對稱的方式組成一個服務器集合,每臺服務器都具備等價的地位,均可以單獨對外提供服務而無須其餘服務器的輔助。羣集是指一組服務器,經過彼此的協同做業,提供一個相同的服務器或應用程序,用於提高服務或應用程序的可用性(availability)、可靠性(reliability)和可擴展性(scalability)。當羣集內的服務器down掉之後,服務請求會轉給其餘羣集內的節點,以實現24小時不中斷服務web
負載均衡實現的幾種方法有:
■基於DNS的負載均衡,它是經過DNS服務中的隨機名字解析來實現的,但不可以按照Web服務器的處理能力分配負載,沒法徹底解決如今網絡中面臨的問題:如單點故障問題,服務器資源不夠用問題等。
■若是是基於IIS,Windows 2003 Server自己就帶了負載均衡服務,但這一服務也只是輪流分配,可能會形成額外的網絡問題。
■軟件方式,經過一臺負載均衡服務器進行,上面安裝軟件。這種方式比較靈活,成本相對也較低。可是軟件負載均衡解決方案缺點比較多,由於每臺服務器上安裝額外的軟件運行會消耗系統不定量的資源,越是功能強大的模塊,消耗得越多,因此當鏈接請求特別大的時候,軟件自己會成爲服務器工做成敗的一個關鍵;軟件可擴展性並非很好,受到操做系統的限制。
■硬件方式,經過專門的負載均衡設備實現。直接在服務器和外部網絡間安裝負載均衡設備,這種設備咱們一般稱之爲負載均衡器,對於流量的分配能夠有多種策略,但基本上都是應用無關的,獨立於操做系統。這種方式每每適合大流量、簡單應用。服務器
「單播」模式:羣集MAC地址會覆蓋每一個節點的MAC地址,同時全部節點發送的數據包源MAC地址爲羣集MAC,所以交換機不能把羣集MAC地址綁定於某個端口,根據該特性,單播模式會有兩個缺點(1.羣集MAC沒有綁定交換端口,全部的NLB通訊均在交換機全部端口廣播,而無論該端口是否鏈接了NLB節點,形成額外的網絡流量。2.全部節點有相同的MAC地址,節點之間不能經過原有的IP進行通訊)網絡
「多播」模式:NLB不會修改NLB節點上用於羣集的網絡適配器的MAC地址,而是爲它再分配一個二層多播MAC地址(羣集MAC地址)專用於NLB的通訊,這樣NLB節點之間能夠經過本身原有的IP地址進行通訊。可是在多播模式中,NLB節點能夠將針對羣集IP地址的ARP請求映射到多播MAC地址(羣集MAC地址),而許多交換機或者路由器默認不會學習多播MAC地址,因此必須手工在交換機或路由器上添加羣集IP地址和羣集MAC地址的映射,不然沒法進行ARP解析,客戶將不能經過羣集IP地址訪問負載均衡
羣集IP地址:指定規則所針對的羣集IP。ide
端口範圍:默認是爲全部,能夠指定羣集監聽的端口範圍,如80到80,就是指監聽對WEB進行負載均衡。學習
協議:指定羣集所服務的協議類型。spa
篩選模式:多個主機操作系統
類似性無:客戶端的服務請求會分配到羣集內的每一臺服務器,假設NLB有2臺服務器,當接到客戶端的請求時,第一個請求由第一個服務器執行,第二個請求由第二個服務器執行,第三個請求由第一個進行執行。由於全部客戶端都會平均分配到服務器,這樣作到最好的負載均衡。.net
類似性單一:客戶端的請求會固定分配到一臺服務器,NLB會根據客戶端的IP來選擇由那一臺服務器進行執行,也就是一臺服務器只執行一部分的IP地址。scala
類似性網絡:根據IP的Class C屏蔽來決定由那一臺服務器來處理,也就是某些服務器指處理來自某些網段C的請求。
單一主機:該端口範圍內的全部請求都由一臺服務器執行,此選項配合優先級進行。
禁用此端口範圍:這也就是說咱們指定了一個大的端口範圍,可是裏面的幾個端口咱們不須要,可是客戶端在訪問時可能會訪問到,因此咱們要講這幾個端口排除在外
微軟官方強烈建議在實施網絡負載平衡(已經稱NLB)時最好爲服務器配置兩塊網卡,一塊用來發布(Public),一塊做爲心跳(HeartBeat)。而且不管是MSCS仍是NLB都屬於企業級的應用,而在IDC部署方面更多采用的是硬件方式。不論怎樣,技術學習和實驗仍是要作的。強化本身,提升本身的能力才能適應當前的競爭環境。
注意:在網絡負載平衡中的每一個節點上,管理員帳號的用戶名和密碼最好一致
單網卡多播,多網卡單播.軟官方強烈建議在實施網絡負載平衡先用單播