當生產(chǎn)環(huán)境里有很大的流量產(chǎn)生時,,通常需要用負載均衡技術(shù)來做優(yōu)化,,并確保容錯配置。Nginx不光可以實現(xiàn)Web Server,,還可以作為HTTP負載均衡來分發(fā)流量給后端的應用程序服務(wù)器,,以此來提高性能。Nginx的負載均衡功能依賴于ngx_http_upstream_module模塊,,所支持的代理方式有proxy_pass,fastcgi_pass,memcached_pass,。 Nginx常用負載均衡算法: 輪詢(默認算法)——每個請求會依次分配給后端不同的應用程序服務(wù)器,不理會后端服務(wù)器的實際壓力 加權(quán)輪詢——權(quán)重越大的服務(wù)器,,被分配到的次數(shù)就會越多,,通常用于后端服務(wù)器性能不一致的情況 IP HASH——當同IP進行重復訪問時會被指定到上次訪問到的服務(wù)器,可以解決動態(tài)網(wǎng)站SESSION共享問題 upstream模塊常用參數(shù)說明:
Nginx負載均衡設(shè)置: 默認的負載均衡配置 http { #upstream模塊包含在http模塊下 server { 在上面的例子中,當用戶訪問www.站點時,,Nginx會負載平衡分配給后端的三個服務(wù)器,。 加權(quán)負載均衡 http { server { 在上面配置中,,每3個請求分配給192.168.1.100,,然后第4個請求會分配給192.168.1.110,如此循環(huán)下去,。 IP HASH負載均衡 upstream linuxidc { 如果需要將客戶與后端一臺服務(wù)器“綁定”起來,,可以使用ip-hash負載平衡機制。這樣可以確保來自相同客戶機的請求總是指向相同的服務(wù)器除非該服務(wù)器不可用,。 Nginx高可用的實現(xiàn),,利用backup標簽,可以實現(xiàn)高可用,,當主服務(wù)掛掉后,,backup服務(wù)器會自動接管服務(wù),當主服務(wù)恢復后,,backup也會自動放棄服務(wù) http { Nginx的upstream模塊相當于是建立一個函數(shù)庫一樣,,把后端的服務(wù)器地址放在了一個池子里,而proxy模塊則是從這個池子里調(diào)用了這些服務(wù)器,。 http_proxy_module模塊常用參數(shù): proxy_set_header:讓后端服務(wù)器能獲取到前端用戶真實IP,,而不只是代理服務(wù)器的IP proxy_set_header Host $host; client_body_buffer_size:客戶端請求主體緩沖區(qū)大小 proxy_connect_timeout:代理服務(wù)器和后端真實服務(wù)器握手連接超時時間 proxy_send_timeout:后端服務(wù)器回傳數(shù)據(jù)給Nginx的時間,需要在設(shè)置的時間范圍內(nèi)發(fā)送完所有數(shù)據(jù),,否則Nginx將斷開連接 proxy_read_timeout:代理服務(wù)器和后端服務(wù)器連接成功后,,等待后端服務(wù)器響應時間 前端Nginx反向代理,如何獲取客戶端真實IP,? #轉(zhuǎn)發(fā)動態(tài)頁面給Tomcat處理 更多Nginx負載均衡配置相關(guān)教程見以下內(nèi)容: Nginx負載均衡配置說明 http://www./Linux/2016-03/129424.htm Linux下Nginx+Tomcat負載均衡和動靜分離配置要點 http://www./Linux/2016-01/127255.htm Docker+Nginx+Tomcat7配置簡單的負載均衡 http://www./Linux/2015-12/125907.htm Nginx負載均衡(主備)+Keepalived http://www./Linux/2015-12/126865.htm 使用Nginx作為負載均衡器 http://www./Linux/2015-12/125789.htm CentOS環(huán)境下Nginx實現(xiàn)3臺虛擬機負載均衡 http://www./Linux/2015-12/125875.htm Nginx反向代理負載均衡群集實戰(zhàn) http://www./Linux/2015-08/122111.htm Nginx 的詳細介紹:請點這里 本文永久更新鏈接地址:http://www./Linux/2016-04/130350.htm |
|
來自: Baruch > 《集群技術(shù)》