導航:首頁 > 網路問題 > 伺服器群集和網路負載平衡有什麼區別

伺服器群集和網路負載平衡有什麼區別

發布時間:2022-09-22 15:30:41

Ⅰ 網路負載平衡和故障轉移群集的區別

網路負載平衡功能可以增強Internet 伺服器應用程序的可用性和可伸縮性。運行 Windows Server 2008 R2 的單個計算機提供有限的伺服器可靠性和可伸縮性能。但是,通過將運行 Windows Server 2008 R2 的其中一個產品的兩台或多台計算機的資源組合到單個虛擬群集中,NLB 便可以提供 Web 伺服器和其他執行關鍵任務伺服器所需的可靠性和性能。
故障轉移群集是一組獨立的計算機,這些計算機相互協作以提高應用程序和服務的可用性。 多台群集伺服器(稱為節點)通過物理電纜和軟體連接。 如果其中一個群集節點出現故障,另一個節點就會開始提供服務(該過程稱為故障轉移)。從而使用戶遭遇服務中斷的次數降至最低。
最大的區別在於
負載平衡偏向於網路鏈路
故障轉移群集偏向於伺服器

Ⅱ 負載均衡器和伺服器的區別是什麼

負載均衡器是一種把網路請求分散到一個伺服器集群中的可用伺服器上去,通過管理進入的Web數據流量和增加有效的網路帶寬的硬體設備。
而伺服器,也稱伺服器,是提供計算服務的設備。
景安網路河南最大的多線伺服器託管商!

Ⅲ 集群和負載均衡的區別 nginx

Nginx是一個免費的,開源的,高性能的伺服器和反向代理伺服器軟體,同時它也可以為IMAP和POP3伺服器代理,以其高性能,穩定性,豐富的功能,結構簡單,低資源消耗的特性換來廣大運維者所喜愛。
Nginx與傳統的伺服器不同,不依賴線程來處理請求。相反,它使用一個更可擴展事件驅動架構(非同步)。這種結構資源消耗較小,但更重要的是,可以承受較大的請求負荷。即使你不希望處理成千上萬的請求,你仍然可以受益於Nginx的高性能和小的內存佔用,以及其豐富的功能。

Nginx的反向代理:
反向代理指以代理伺服器來接受Internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給Internet上請求連接到客戶端,此時代理伺服器對外就表現為一個伺服器,而此種工作模式類似於LVS-NET模型。
反向代理也可以理解為web伺服器加速,它是一種通過在繁忙的web伺服器和外部網路之間增加的 一個高速web緩沖伺服器,用來降低實際的web伺服器的負載的一種技術。反向代理是針對web伺服器提高加速功能,所有外部網路要訪問伺服器時的所有請求都要通過它,這樣反向代理伺服器負責接收客戶端的請求,然後到源伺服器上獲取內容,把內容返回給用戶,並把內容保存在本地,以便日後再收到同樣的信息請求時,它會將本地緩存里的內容直接發給用戶,已減少後端web伺服器的壓力,提高響應速度。因此Nginx還具有緩存功能。

反向代理的工作流程:
1)用戶通過域名發出訪問請求,該域名被解析為反向代理伺服器的IP地址;
2)反向代理伺服器接收用戶的請求;
3)反向代理伺服器在本地緩存查找是否存在當前用戶所請求的內容,找到則直接把內容返回給用戶;
4)如果本地沒有用戶請求的內容,反向代理伺服器會以自己的身份去後端伺服器請求同樣的信息內容,並把信息內容發給用戶,如果信息內容是可以被緩存的,則會將該內容緩存在代理伺服器的本地緩存中。

反向代理的好處:
1)解決了網站伺服器對外可見的問題,提高了網站伺服器的安全性;
2)節約了有限的IP地址資源,後端伺服器均可使用私有IP地址與代理伺服器進行通信;
3)加速了網站的訪問速度,減輕了真是web伺服器的負荷。

(一)、調度演算法
Nginx的upstream指令用於指定proxy_pass和fastcgi_pass所使用的後端伺服器,即nginx的反向代理功能,因此可以將兩者結合起來使用以達到負載均衡的目的,而Nginx也支持多種調度演算法:
1、輪詢(默認)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,則會跳過該伺服器分配至下一個監控的伺服器。並且它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。
2、weight
指定在輪詢的基礎上加上權重,weight和訪問比率成正比,即用於表明後端伺服器的性能好壞,若後端伺服器性能較好則可將大部分請求分配給它,已實現其力所能及。
例如:
我後端伺服器172.23.136.148配置:E5520*2 CPU,8G內存
後端伺服器172.23.136.148配置:Xeon(TM)2.80GHz * 2,4G內存
我希望在有30個請求到達前端時,其中20個請求交給172.23.136.148處理,剩餘10個請求交給172.23.136.149處理,就可做如下配置
upstream web_poll {
server 172.23.136.148 weight=10;
server 172.23.136.149 weight=5;
}
3、ip_hash
每個請求按訪問ip的hash結果分配,當新的請求到達時,先將其客戶端IP通過哈希演算法進行哈希出一個值,在隨後的請求客戶端IP的哈希值只要相同,就會被分配至同一個後端伺服器,該調度演算法可以解決session的問題,但有時會導致分配不均即無法保證負載均衡。
例如:
upstream web_pool {
ip_hash;
server 172.23.136.148:80;
server 172.23.136.149:80;
}
4、fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
upstream web_pool {
server 172.23.136.148;
server 172.23.136.149;
fair;
}
5、url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為緩存時比較有效。
例:在upstream中加入hash語句,server語句中不能寫入weight等其他的參數,hash_method是使用的hash演算法
upstream web_pool {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

每個設備的狀態設置為:
1.down 表示當前的server不參與負載,用於ip_hash中
2.weight 默認為1.weight越大,負載的權重就越大。
3.max_fails 允許請求失敗的次數默認為1.設為0則表示關閉該項功能,當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤
4.fail_timeout 在max_fails定義的失敗次數後,暫停的時間。
5.backup 可以將其理解為備機,其它所有的非backup機器down或者忙的時候,才會將請求分配給backup機器。所以這台機器壓力會最輕。

nginx支持同時設置多組的負載均衡,用來給不用的server來使用。

(二)、指令的使用
1、upstream
聲明一組可以被proxy_pass和fastcgi_pass引用的伺服器;這些伺服器可以使用不同的埠,並且也可以使用Unix Socket;也可以為伺服器指定不同的權重。如:
upstream web_pool {
server coolinuz.9966.org weight=5;
server 172.23.136.148:8080 max_fails=3 fail_timeout=30s;
server unix:/tmp/backend3;
}
2、server
語法:server name [parameters]
其中的name可以是FQDN,主機地址,埠或unix套接字;如果FQDN解析的結果為多個地址,則每個地址都會被用到。
3、proxy_pass
語法:proxy_pass URL;
該指令用於指定代理伺服器的地址和URL將被映射為的URL或地址和埠。即用來指定後端伺服器的地址或URL[埠]。
4、proxy_set_header
語法:proxy_set_header header value;
該指令允許重新定義和添加一些將被轉移到被代理伺服器的請求頭部信息。
例如:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
注意:$proxy_add_x_forwarded_for包含客戶端請求頭中的"X-Forwarded-For",與$remote_addr用逗號分開,如果沒有"X-Forwarded-For" 請求頭,則$proxy_add_x_forwarded_for等於$remote_addr

順便補上Nginx的內置變數:

$args, 請求中的參數;
$is_args, 如果已經設置$args,則該變數的值為「?」,否則為「」。
$content_length, HTTP請求信息頭里的"Content-Length";
$content_type, 請求信息頭里的"Content-Type";
$document_root, 針對當前請求所屬的root指令設置的根目錄路徑;
$document_uri, 與$uri相同;
$host, 請求信息中的"Host",如果請求中沒有Host行,則等於設置的伺服器名;
$limit_rate, 對連接速率的限制;
$request_method, 請求的方法,比如"GET"、"POST"等;
$remote_addr, 客戶端地址;
$remote_port, 客戶端埠號;
$remote_user, 客戶端用戶名,認證用;
$request_filename, 當前請求的文件路徑名
$request_body_file, 客戶端請求主體的臨時文件名。
$request_uri, 請求的URI,帶參數;
$query_string, 與$args相同;
$scheme, 所用的協議,比如http或者是https,比如rewrite ^(.+)$ $scheme://example.com$1 redirect;
$server_protocol, 請求的協議版本,"HTTP/1.0"或"HTTP/1.1";
$server_addr, 伺服器地址,如果沒有用listen指明伺服器地址,使用這個變數將發起一次系統調用以取得地址(造成資源浪費);
$server_name, 請求到達的伺服器名;
$server_port, 請求到達的伺服器埠號;
$uri, 請求的URI,可能和最初的值有不同,比如經過重定向之類的。

5、proxy_read_timeout
語法:proxy_read_timeout time;
這個指令設置Nginx與後端伺服器建立連接後。等待後端伺服器的響應時間
6、proxy_send_timeout
語法:roxy_send_timeout time;
該指令指定請求轉移到後端伺服器的超時時間。整個傳輸的要求時間不超過超時時間,但只有兩次寫操作之間。如果在此時間之後的後端伺服器將不採取新的數據,然後nginx將關閉連接。
7、proxy_connect_timeout
語法:proxy_connect_timeout time;
該指令用來設置分配到後端伺服器的連接超時時間。
8、proxy_buffers
語法: proxy_buffers the_number is_size;
該指令設置緩沖區的數目和大小,預設情況下,一個緩沖區的大小和頁面大小相同。
9、proxy_buffer_size
語法:proxy_buffer_size buffer_size;
代理緩沖區,該指令用於保存用用戶的頭部信息。
10、proxy_busy_buffers_size
語法:proxy_busy_buffers_size size;
用於當系統負載較大,緩沖區不夠用時,可以申請更大的proxy_buffers
11、proxy_temp_file_write_size
語法:proxy_temp_file_write_size size;
用於指定緩存臨時文件的大小

(三)、功能完善
安裝配置第三方模塊,實現upstream中對後端web server的健康狀態檢測:
模塊下載地址:https://github.com/cep21/healthcheck_nginx_upstreams;模塊名稱:ngx_http_healthcheck_mole
安裝配置方法:
1、首先解壓healcheck模塊到某路徑下,這里假設為/tmp/healthcheck_nginx_upstreams
#tar -xvf cep21-healthcheck_nginx_upstreams-16d6ae7.tar.gz -C /tmp/healthcheck_nginx_upstreams
2、對nginx打補丁
首先解壓nginx,並進入nginx源碼目錄:
# tar xf nginx-1.3.4.tar.gz
# cd nginx-1.0.11
# patch -p1 < /tmp/healthcheck_nginx_upstreams/nginx.patch
而後編譯nginx,在執行configure時添加類似下面的選項:
--add-mole=/tmp/healthcheck_nginx_upstreams
所以,這里就使用如下命令:

# ./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_mole \
--with-http_flv_mole \
--with-http_stub_status_mole \
--with-http_gzip_static_mole \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--with-pcre \
--add-mole=/tmp/healthcheck_nginx_upstreams
# make && make install

ngx_http_healthcheck_mole模塊的使用方法:
1、此模塊支持的指令有:
healthcheck_enabled
##啟用此模塊
healthcheck_delay
##對同一台後端伺服器兩次檢測之間的時間間隔,單位毫秒,默認為1000;
healthcheck_timeout
##進行一次健康檢測的超時時間,單位為毫秒,默認值2000;
healthcheck_failcount
##對一台後端伺服器檢測成功或失敗多少次之後方才確定其為成功或失敗,並實現啟用或禁用此伺服器;
healthcheck_send
##為了檢測後端伺服器的健康狀態所發送的檢測請求;如:healthcheck_send "GET /health HTTP/1.0" 'Host: coolinuz.9966.org';
healthcheck_expected
##期望從後端伺服器收到的響應內容;如果未設置,則表示從後端伺服器收到200狀態碼即為正確;
healthcheck_buffer
##健康狀態檢查所使用的buffer空間大小;

healthcheck_status
通過類似stub_status的方式輸出檢測信息,使用方法如下:
location /stat {
healthcheck_status;
}

(四)、配置與實現
配置代碼如下:

http {

upstream web_pool {
server 172.23.136.148:80 weight=10;
server 172.23.136.149:80 weight=5;
healthcheck_enabled;
healthcheck_delay 1000;
healthcheck_timeout 1000;
healthcheck_failcount 2;
healthcheck_send "GET /.health HTTP/1.0";
}
server {
listen 80;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://web_pool;
proxy_connect_timeout 3;
}
location /stat {
healthcheck_status;
}
}

}
在這里設置「proxy_set_header」參數,是因為Nginx在做反向代理的時候,要代替客戶端去訪問伺服器,所以,當請求包經過反向代理後,在代理伺服器這里這個IP數據包的IP包頭做了修改,最終後端web伺服器得到的數據包的頭部的源IP地址是代理伺服器的IP地址,這樣一來,後端伺服器的程序給予IP的統計功能就沒有任何意義,或者後端web伺服器上有多個基於域名的虛擬主機時,就要通過添加Header頭信息Host,用於指定請求的域名,這樣後端web伺服器才能識別該反向代理訪問請求由哪個虛擬主機來處理。

(五)、小結
通過以上我們可以看出Nginx的配置其實是比較其他的web伺服器軟體是比較簡單的,但是其實現的功能確實相當強大豐富的。通過Nginx的反向代理已經支持靈活的正則表達式匹配,可以實現網站的動、靜分離,讓動態的php等程序網頁去訪問php web伺服器,讓緩存頁、圖片、javascript、css、flash去訪問Squid等緩存伺服器或文件伺服器。加之Nginx對靜態內容的高性能,高並發量,Nginx作為前端代理負載均衡成為越來越多架構師的首先方案。

Ⅳ 集群與負載均衡區別

1. 集群(Cluster):是一組獨立的計算機系統構成一個松耦合的多處理器系統,它們之間通過網路實現進程間的通信。應用程序可以通過網路共享內存進行消息傳送,實現分布式計算機。

2. 負載均衡(Load Balance):先得從集群講起,集群就是一組連在一起的計算機,從外部看它是一個系統,各節點可以是不同的操作系統或不同硬體構成的計算機。如一個提供Web服務的集群,對外界來看是一個大Web伺服器。不過集群的節點也可以單獨提供服務。

3. 特點:在現有網路結構之上,負載均衡提供了一種廉價有效的方法擴展伺服器帶寬和增加吞吐量,加強網路數據處理能力,提高網路的靈活性和可用性。集群系統 (Cluster)主要解決下面幾個問題:高可靠性(HA):利用集群管理軟體,當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,並及時切換過去,以實現對用戶的不間斷服務。高性能計算(HP):即充分利用集群中的每一台計算機的資源,實現復雜運算的並行處理,通常用於科學計算領域,比如基因分析,化學分析等。負載平衡:即把負載壓力根據某種演算法合理分配到集群中的每一台計算機上,以減輕主伺服器的壓力,降低對主伺服器的硬體和軟體要求。

Ⅳ 集群、負載均衡與分布式有什麼區別

集群、負載均衡與分布式的區別:

1、Linux集群主要分成三大類( 高可用集群, 負載均衡集群,科學計算集群)(下面只介紹負載均衡集群)


負載均衡集群(Load Balance Cluster)


負載均衡系統:集群中所有的節點都處於活動狀態,它們分攤系統的工作負載。一般Web伺服器集群、資料庫集群和應用伺服器集群都屬於這種類型。



負載均衡集群一般用於相應網路請求的網頁伺服器,資料庫伺服器。這種集群可以在接到請求時,檢查接受請求較少,不繁忙的伺服器,並把請求轉到這些伺服器上。從檢查其他伺服器狀態這一點上看,負載均衡和容錯集群很接近,不同之處是數量上更多。




2、負載均衡系統: 負載均衡又有DNS負載均衡(比較常用)、IP負載均衡、反向代理負載均衡等,也就是在集群中有伺服器A、B、C,它們都是互不影響,互不相乾的,任何一台的機器宕了,都不會影響其他機器的運行,當用戶來一個請求,有負載均衡器的演算法決定由哪台機器來處理,假如你的演算法是採用round演算法,有用戶a、b、c,那麼分別由伺服器A、B、C來處理;




3、分布式是指將不同的業務分布在不同的地方。


而集群指的是將幾台伺服器集中在一起,實現同一業務。
分布式中的每一個節點,都可以做集群。
而集群並不一定就是分布式的。


舉例:就比如新浪網,訪問的人多了,他可以做一個群集,前面放一個響應伺服器,後面幾台伺服器完成同一業務,如果有業務訪問的時候,響應伺服器看哪台伺服器的負載不是很重,就將給哪一台去完成。


而分布式,從窄意上理解,也跟集群差不多, 但是它的組織比較鬆散,不像集群,有一個組織性,一台伺服器垮了,其它的伺服器可以頂上來。


分布式的每一個節點,都完成不同的業務,一個節點垮了,哪這個業務就不可訪問了。

Ⅵ 伺服器群集和負載均衡有什麼不同

伺服器集群:
伺服器集群就是指將很多伺服器集中起來一起進行同一種服務,在客戶端看來就像是只有一個伺服器。集群可以利用多個計算機進行並行計算從而獲得很高的計算速度,也可以用多個計算機做備份,從而使得任何一個機器壞了整個系統還是能正常運行。
伺服器負載均衡:
負載均衡
(Load
Balancing)
建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴展網路設備和伺服器的帶寬、增加吞吐量、加強網路數據處理能力、提高網路的靈活性和可用性。
分布式伺服器:
所謂分布式資源共享伺服器就是指數據和程序可以不位於一個伺服器上,而是分散到多個伺服器,以網路上分散分布的地理信息數據及受其影響的資料庫操作為研究對象的一種理論計算模型伺服器形式。分布式有利於任務在整個計算機系統上進行分配與優化,克服了傳統集中式系統會導致中心主機資源緊張與響應瓶頸的缺陷,解決了網路GIS
中存在的數據異構、數據共享、運算復雜等問題,是地理信息系統技術的一大進步。
這個三種架構都是常見的伺服器架構,集群的主要是IT公司在做,可以保障重要數據安全;負載均衡主要是為了分擔訪問量,避免臨時的網路堵塞,主要用於電子商務類型的網站;分布式伺服器主要是解決跨區域,多個單個節點達到高速訪問的目前,一般是類似CDN的用途的話,會採用分布式伺服器。
純手工打字,希望可以幫的到你!

閱讀全文

與伺服器群集和網路負載平衡有什麼區別相關的資料

熱點內容
家裡裝網路手機怎麼操作 瀏覽:830
平板電腦怎樣連上網路呀 瀏覽:105
安卓手機沒有網路可以開門禁卡嗎 瀏覽:188
大胖橘是什麼意思網路用語 瀏覽:319
網路卡頓電腦游戲也會畫面卡頓嗎 瀏覽:862
macbookpro無線網路無法連接 瀏覽:205
為什麼wifi找不到網路 瀏覽:710
ping網路是ping哪個 瀏覽:655
B站網路直播平台有哪些 瀏覽:785
雲音響連接網路失敗 瀏覽:314
湖南網路優化多少錢 瀏覽:848
win7使用無線網路就卡死 瀏覽:169
電腦無線網路連接就不能本地連接 瀏覽:414
虛擬網路平台怎麼用手機 瀏覽:277
windows10筆記本電腦搜索不到網路 瀏覽:857
無線監控器上的網路模塊 瀏覽:774
網路貸款哪個最容易求帶什麼意思 瀏覽:972
boss直聘網路安全審查工作 瀏覽:145
網路招聘一年需要多少錢 瀏覽:685
遂平城南哪個網路好 瀏覽:922

友情鏈接