負載均衡(load balance)是集群技術(cluster)的一種應用。負載均衡可以將工作任務分攤到多個處理單元,從而提高併發處理能力。目前最常見的負載均衡應用是web負載均衡。根據實現的原理不同,常見的web負載均衡技術包括:dns輪詢、ip負載均衡和cdn。其中ip負載均衡可以使用硬體裝置或軟體方式來實現。
什麼是web負載均衡
伺服器集群(cluster)使得多個伺服器節點能夠協同工作,根據目的的不同,伺服器集群可以分為:
高效能集群:將單個重負載的請求分散到多個節點進行處理,最後再將處理結果進行彙總
高可用集群:提高冗餘單元,避免單點故障
負載均衡集群:將大量的併發請求分擔到多個處理節點。由於單個處理節點的故障不影響整個服務,負載均衡集群同時也實現了高可用性。
一般提到的負載均衡(load balance),是指實現負載均衡集群。負載均衡實現了橫向擴充套件,避免縱向的公升級換代。
本文中的web負載均衡,特指能夠分擔web請求(http,https等)的負載均衡技術。
基本原理
任何的負載均衡技術都要想辦法建立某種一對多的對映機制: 乙個請求的入口對映到多個處理請求的節點,從而實現分而治之(divide and conquer)。
這種對映機制使得多個物理存在對外體現為乙個虛擬的整體,對服務的請求者遮蔽了內部的結構。
採用不同的機制建立對映關係,可以形成不同的負載均衡技術,常見的包括:dns輪詢、cdn、ip負載均衡
dns
dns輪詢是最簡單的負載均衡方式。以網域名稱作為訪問入口,通過配置多條dns a記錄使得請求可以分配到不同的伺服器。
dns輪詢沒有快速的健康檢查機制,而且只支援wrr的排程策略導致負載很難「均衡」,通常用於要求不高的場景。 並且dns輪詢方式直接將伺服器的真實位址暴露給使用者,不利於伺服器安全。
cdn
cdn(content delivery network,內容分發網路)。通過發布機制將內容同步到大量的快取節點,並在dns伺服器上進行擴充套件, 找到裡使用者最近的快取節點作為服務提供節點。
因為很難自建大量的快取節點,所以通常使用cdn運營商的服務。目前國內的服務商很少,而且按流量計費,**也比較昂貴。
ip負載均衡ip負載均衡可以使用硬體裝置,也可以使用軟體實現。硬體裝置的主要產品是f5-big-ip-gtm(簡稱f5),
軟體產品主要有lvs、haproxy、nginx。其中lvs、haproxy可以工作在4-7層,nginx工作在7層。關於三者的簡單對比,可以參考這裡。
硬體負載均衡裝置可以將核心部分做成晶元,效能和穩定性更好,而且商用產品的可管理性、文件和服務都比較好。唯一的問題就是**。
軟體負載均衡通常是開源軟體。自由度較高,但學習成本和管理成本會比較大。
f5
f5的全稱是f5-big-ip-gtm,是最流行的硬體負載均衡裝置,其併發能力達到百萬級。f5的主要特性包括:
多鏈路的負載均衡和冗餘
可以接入多條isp鏈路,在鏈路之間實現負載均衡和高可用。
防火牆負載均衡
f5具有異構防火牆的負載均衡與故障自動排除能力。
伺服器負載均衡
這是f5最主要的功能,f5可以配置針對所有的對外提供服務的伺服器配置virtual server實現負載均衡、健康檢查、回話保持等。
高可用f5裝置自身的冗餘設計能夠保證99.999%的正常執行時間,雙機f5的故障切換時間為毫秒級。
使用f5可以配置整個集群的鏈路冗餘和伺服器冗餘,提高可靠的健康檢查機制,以保證高可用。
安全性與防火牆類似,f5採用預設拒絕策略,可以為任何站點增加額外的安全保護,防禦普通網路攻擊,包括ddos、ip欺騙、syn攻擊、teartop和land攻擊、icmp攻擊等。
易於管理
f5提供https、ssh、telnet、snmp等多種管理方式,包含詳盡的實時報告和歷史紀錄報告。同時還提供二次開發包(i-control)。
其他技能
f5還提供了ssl加速、軟體公升級、ip位址過濾、頻寬控制等輔助功能。
負載均衡(load balance)是集群技術(cluster)的一種應用。負載均衡可以將工作任務分攤到多個處理單元,從而提高併發處理能力。目前最常見的負載均衡應用是web負載均衡。根據實現的原理不同,常見的web負載均衡技術包括:dns輪詢、ip負載均衡和cdn。其中ip負載均衡可以使用硬體裝置或軟體方式來實現。
什麼是web負載均衡
伺服器集群(cluster)使得多個伺服器節點能夠協同工作,根據目的的不同,伺服器集群可以分為:
高效能集群:將單個重負載的請求分散到多個節點進行處理,最後再將處理結果進行彙總
高可用集群:提高冗餘單元,避免單點故障
負載均衡集群:將大量的併發請求分擔到多個處理節點。由於單個處理節點的故障不影響整個服務,負載均衡集群同時也實現了高可用性。
一般提到的負載均衡(load balance),是指實現負載均衡集群。負載均衡實現了橫向擴充套件,避免縱向的公升級換代。
本文中的web負載均衡,特指能夠分擔web請求(http,https等)的負載均衡技術。
基本原理
任何的負載均衡技術都要想辦法建立某種一對多的對映機制: 乙個請求的入口對映到多個處理請求的節點,從而實現分而治之(divide and conquer)。
這種對映機制使得多個物理存在對外體現為乙個虛擬的整體,對服務的請求者遮蔽了內部的結構。
採用不同的機制建立對映關係,可以形成不同的負載均衡技術,常見的包括:dns輪詢、cdn、ip負載均衡
dns
dns輪詢是最簡單的負載均衡方式。以網域名稱作為訪問入口,通過配置多條dns a記錄使得請求可以分配到不同的伺服器。
dns輪詢沒有快速的健康檢查機制,而且只支援wrr的排程策略導致負載很難「均衡」,通常用於要求不高的場景。 並且dns輪詢方式直接將伺服器的真實位址暴露給使用者,不利於伺服器安全。
cdn
cdn(content delivery network,內容分發網路)。通過發布機制將內容同步到大量的快取節點,並在dns伺服器上進行擴充套件, 找到裡使用者最近的快取節點作為服務提供節點。
因為很難自建大量的快取節點,所以通常使用cdn運營商的服務。目前國內的服務商很少,而且按流量計費,**也比較昂貴。
ip負載均衡ip負載均衡可以使用硬體裝置,也可以使用軟體實現。硬體裝置的主要產品是f5-big-ip-gtm(簡稱f5),
軟體產品主要有lvs、haproxy、nginx。其中lvs、haproxy可以工作在4-7層,nginx工作在7層。關於三者的簡單對比,可以參考這裡。
硬體負載均衡裝置可以將核心部分做成晶元,效能和穩定性更好,而且商用產品的可管理性、文件和服務都比較好。唯一的問題就是**。
軟體負載均衡通常是開源軟體。自由度較高,但學習成本和管理成本會比較大。
f5
f5的全稱是f5-big-ip-gtm,是最流行的硬體負載均衡裝置,其併發能力達到百萬級。f5的主要特性包括:
多鏈路的負載均衡和冗餘
可以接入多條isp鏈路,在鏈路之間實現負載均衡和高可用。
防火牆負載均衡
f5具有異構防火牆的負載均衡與故障自動排除能力。
伺服器負載均衡
這是f5最主要的功能,f5可以配置針對所有的對外提供服務的伺服器配置virtual server實現負載均衡、健康檢查、回話保持等。
高可用f5裝置自身的冗餘設計能夠保證99.999%的正常執行時間,雙機f5的故障切換時間為毫秒級。
使用f5可以配置整個集群的鏈路冗餘和伺服器冗餘,提高可靠的健康檢查機制,以保證高可用。
安全性與防火牆類似,f5採用預設拒絕策略,可以為任何站點增加額外的安全保護,防禦普通網路攻擊,包括ddos、ip欺騙、syn攻擊、teartop和land攻擊、icmp攻擊等。
易於管理
f5提供https、ssh、telnet、snmp等多種管理方式,包含詳盡的實時報告和歷史紀錄報告。同時還提供二次開發包(i-control)。
其他技能
f5還提供了ssl加速、軟體公升級、ip位址過濾、頻寬控制等輔助功能。
負載均衡的幾種實現方式
1 http重定向負載均衡。這種負載均衡方案的優點是比較簡單,缺點是瀏覽器需要每次請求兩次伺服器才能拿完成一次訪問,效能較差。2 dns網域名稱解析負載均衡。dns網域名稱解析負載均衡的優點是將負載均衡工作交給dns,省略掉了網路管理的麻煩,缺點就是dns可能快取a記錄,不受 控制。3 反向 負載均...
負載均衡的幾種實現方式
1 http重定向負載均衡。負載均衡的幾種實現方式 這種負載均衡方案的優點是比較簡單,缺點是瀏覽器需要每次請求兩次伺服器才能拿完成一次訪問,效能較差。2 dns網域名稱解析負載均衡。dns網域名稱解析負載均衡的優點是將負載均衡工作交給dns,省略掉了網路管理的麻煩,缺點就是dns可能快取a記錄,不受...
實現負載均衡的幾種方式
當一台伺服器的單位時間內的訪問量越大時,伺服器壓力就越大,大到超過自身承受能力時,伺服器就會崩潰。為了避免伺服器崩潰,讓使用者有更好的體驗,我們通過負載均衡的方式來分擔伺服器壓力。我們可以建立很多很多伺服器,組成乙個伺服器集群,當使用者訪問 時,先訪問乙個中間伺服器,在讓這個中間伺服器在伺服器集群中...