如何實現負載均衡?
負載均衡是怎麼做的~
負載均衡(Load Balance)
由於目前現有網絡的各個核心部分隨著業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的服務器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬件升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬件升級的高額成本投入,甚至性能再卓越的設備也不能滿足當前業務量增長的需求。
針對此情況而衍生出來的一種廉價有效透明的方法以擴展現有網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性的技術就是負載均衡(Load Balance)。
負載均衡技術主要應用
1、DNS負載均衡 最早的負載均衡技術是通過DNS來實現的,在DNS中為多個地址配置同一個名字,因而查詢這個名字的客戶機將得到其中一個地址,從而使得不同的客戶訪問不同的服務器,達到負載均衡的目的。DNS負載均衡是一種簡單而有效的方法,但是它不能區分服務器的差異,也不能反映服務器的當前運行狀態。
2、代理服務器負載均衡 使用代理服務器,可以將請求轉發給內部的服務器,使用這種加速模式顯然可以提升靜態網頁的訪問速度。然而,也可以考慮這樣一種技術,使用代理服務器將請求均勻轉發給多臺服務器,從而達到負載均衡的目的。
3、地址轉換網關負載均衡 支持負載均衡的地址轉換網關,可以將一個外部IP地址映射為多個內部IP地址,對每次TCP連接請求動態使用其中一個內部地址,達到負載均衡的目的。
4、協議內部支持負載均衡 除了這三種負載均衡方式之外,有的協議內部支持與負載均衡相關的功能,例如HTTP協議中的重定向能力等,HTTP運行於TCP連接的最高層。
5、NAT負載均衡 NAT(Network Address Translation 網絡地址轉換)簡單地說就是將一個IP地址轉換為另一個IP地址,一般用於未經註冊的內部地址與合法的、已獲註冊的Internet IP地址間進行轉換。適用於解決Internet IP地址緊張、不想讓網絡外部知道內部網絡結構等的場合下。
6、反向代理負載均衡 普通代理方式是代理內部網絡用戶訪問internet上服務器的連接請求,客戶端必須指定代理服務器,並將本來要直接發送到internet上服務器的連接請求發送給代理服務器處理。反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。反向代理負載均衡技術是把將來自internet上的連接請求以反向代理的方式動態地轉發給內部網絡上的多臺服務器進行處理,從而達到負載均衡的目的。
7、混合型負載均衡 在有些大型網絡,由於多個服務器群內硬件設備、各自的規模、提供的服務等的差異,我們可以考慮給每個服務器群採用最合適的負載均衡方式,然後又在這多個服務器群間再一次負載均衡或群集起來以一個整體向外界提供服務(即把這多個服務器群當做一個新的服務器群),從而達到最佳的性能。我們將這種方式稱之為混合型負載均衡。此種方式有時也用於單臺均衡設備的性能不能滿足大量連接請求的情況下。
怎麼實現服務器的負載均衡?
負載均衡有分硬件負載和軟件。
1. 硬件方面,可以用F5做負載,內置幾十種算法。
2. 軟件方面,可以使用反向代理服務器,例如apache,Nginx等高可用反向代理服務器。
利用DNSPOD智能解析的功能,就可以實現多臺機器負載均衡.
首先你用一臺高配置的機器來當數據庫服務器.然後把網站的前端頁面複製成多份,分別放在其他的幾臺機器上面.再用DNSPOD做智能解析,把域名解析指向多個服務器的IP,DNSPOD默認就有智能分流的作用,也就是說當有一臺機器的資源不夠用時會自動引導用戶訪問其他機器上.這是相對來講比較簡單的實現負載均衡的方法.
如何實現負載均衡,有哪些算法可以實現
常見的有LVS、Nginx和HAProxy,者者介紹分別如下:
LVS:使用集群技術和Linux操作系統實現一個高性能、高可用的服務器,它具有很好的可伸縮性(Scalability)、可靠性(Reliability)和可管理性(Manageability),感謝章文嵩博士為我們提供如此強大實用的開源軟件。
LVS的特點是:
1、抗負載能力強、是工作在網絡4層之上僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟件裡的性能最強的;
2、配置性比較低,這是一個缺點也是一個優點,因為沒有可太多配置的東西,所以並不需要太多接觸,大大減少了人為出錯的機率;
3、工作穩定,自身有完整的雙機熱備方案;
4、無流量,保證了均衡器IO的性能不會收到大流量的影響;
5、應用範圍比較廣,可以對所有應用做負載均衡;
6、軟件本身不支持正則處理,不能做動靜分離。
Nginx的特點是:
1、工作在網絡的7層之上,可以針對http應用做一些分流的策略;
2、Nginx對網絡的依賴非常小;
3、Nginx安裝和配置比較簡單,測試起來比較方便;
4、可以承擔高的負載壓力且穩定,一般能支撐超過幾萬次的併發量;
5、Nginx可以通過端口檢測到服務器內部的故障,比如根據服務器處理網頁返回的狀態碼、超時等等;
6、Nginx僅能支持http和Email;
HAProxy的特點是:
1、HAProxy是支持虛擬主機的;
2、能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導等工作;
3、支持url檢測後端的服務器出問題的檢測會有很好的幫助;
4、它跟LVS一樣,本身僅僅就只是一款負載均衡軟件;
5、HAProxy可以對Mysql讀進行負載均衡,對後端的MySQL節點進行檢測和負載均衡,不過在後端的MySQL slaves數量超過10臺時性能不如LVS;
6、HAProxy的算法多;
如何做兩個三層交換機負載均衡
這個問題一兩句說不清楚,負載均衡也就是HSRP,發你一個百度文庫的HSRP實驗鏈接,你可以照著做一下試試。wenku.baidu.com/...4.html
服務器如何實現集群和負載均衡
你可以直接買一臺負載均衡交換機啊,何必要浪費1臺服務器呢。
2 應該是每臺都會有一個IP地址 外網 訪問連接到的那個IP地址 是你的負載均衡交換機的IP地禒 他隨機把你的訪問請求分配到你的3臺服務器上
3 無主從關係,負載均衡交換機它會沒2秒左右向你的服務器發送一個健康檢查,如果發現你的服務器出現問題,它會自動屏蔽你這臺服務器
4 你問的重複問題。
Java web項目,怎麼做負載均衡啊?
HAProxy是一款反向代理服務器工具,通過它,可以實現負載均衡。它支持雙機熱備支持虛擬主機,但其配置簡單,擁有非常不錯的服務器健康檢查功能,當其代理的後端服務器出現故障, HAProxy會自動將該服務器摘除,故障恢復後再自動將該服務器加入。新的1.3引入了frontend,backend,frontend根據任意HTTP請求頭內容做規則匹配,然後把請求定向到相關的backend.
利用HAPorxy實現負載均衡
1. 利用HAProxy實現負載均衡
192.168.169.137 (haproxy)———負載均衡———-(192.168.169.117;192.168.169.118)
安裝配置HAproxy
cd /usr/local/
wget haproxy.1wt.eu/...tar.gz
tar zxvf haproxy-1.3.14.2.tar.gz
mv haproxy-1.3.14.2 haproxy
cd haproxy
make TARGET=linux26
2. 創建配置文件
# vi haproxy.cfg
global
maxconn 5120
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc 2 #通過nbproc多設置幾個haproxy併發進程,這樣每個進程的task_queue相對就會短很多,性能自然就能提高不少
#pidfile /var/run/haproxy-private.pid
defaults
log global
mode http
option httplog
option dontlognull
log 127.0.0.1 local3
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webfarm 0.0.0.0:80
mode http
stats uri /haproxy-stats #監控haproxy狀態
stats realm Haproxy\ statistics
stats auth netseek:52netseek #設置狀態監控的用戶名為netseek密碼為52netseek
balance roundrobin #負載均衡算法
cookie SERVERID insert indirect
option httpclose #
option forwardfor #apache日誌轉發功能
option httpchk HEAD /check.txt HTTP/1.0 #健康檢測
server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 ri......
如何實現路由器線路負載均衡
要實現負載均衡,第一步是創建一個訪問列表,把你的網絡分為兩份。根據這個訪問列表,你可以把一半的IP地址定義到一條線路上,把另一半IP地址定義到另一個線路上。 假定你的網絡是172.16.128.0/24。“允許IP地址10.172.16.128.0 0.0.0.254的訪問列表1”將僅允許雙數的IP地址。因此,你現在就有了兩個子網。你還得根據每個請求和IP地址修改這個列表。現在你可以創建一個路由圖。 Route map 10 ISP1_primary(路由表10,第一家主要ISP) Match access-list 1 (與訪問列表1相匹配) Set interface ISP1_interface(設接口為第一家主要ISP接口) Route map 20 ISP1_primary (路由表20,第一家主要ISP) Match access-list 1 (與訪問列表1相匹配) Set interface ISP2_interface(設接口為第二家主要ISP接口) 同樣,你需要為第二家ISP創建另一個路由表。 Route map 10 ISP2_primary(路由表10,第二家主要ISP) Match access-list 2 (與訪問列表2相匹配) Set interface ISP2_interface (設接口為第二家主要ISP接口) Route map 20 ISP1_primary(路由表20,第二家主要ISP) Match access-list 2(與訪問列表2相匹配) Set interface ISP1_interface(設接口為第一家主要ISP接口) 訪問列表2是與網絡相匹配的另一個訪問列表。你需要用自己的方法分割網絡。還有一個選擇就是在路由器上增加浮點靜態路由。
nginx是怎麼實現負載均衡的
通過設置特定的策略,使nginx將請求按策略分配到不同的後端服務器
一般可以使用IP分流、服務器壓力分流等方法
IP分流可以將請求來源IP在某個範圍內的請求傳遞給相同的後端
服務器壓力分流可以根據後端服務器壓力的不同,而分配給後端壓力相對較小的後端服務器
核心三層交換機之間如何實現負載均衡?
可以通過將兩臺核心交換機的其中一臺作為部分VLAN的主根,部分VLAN的備根;比如說,核心層交換機1作為1~100vlan的主根,作為101~200vlan的備根,而核心交換機2作為101~200的主根,1~100的備根。兩臺核心交換機之間的鏈路啟用port-channel以太通道對鏈路進行捆綁。PT是沒有辦法實現MST的,不過你可以使用PVRST來進行二層數據流量的負載均衡。PT也是沒有辦法實現HSRP和VRRP的,所以你用PT是沒有辦法實現核心層交換機的雙機熱備的
兩臺FTP服務器如何實現負載均衡 50分
最簡單的方法就是配置DNS負載均衡,讓DNS解析一會兒是ip1,一會兒是ip2。各有一半的機率。具體怎麼配置,那就要看你的DNS解析用的什麼了。
不過這只是一個簡單的負載平衡方案,如果你有更高要求,可以用LVS集群。