久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Nginx負(fù)載均衡

 CevenCheng 2011-07-22

Nginx負(fù)載均衡

最近迷上了Nginx,真實(shí)麻雀雖小,五臟俱全..功能實(shí)在強(qiáng)大..

nginx不單可以作為強(qiáng)大的web服務(wù)器,,也可以作為一個(gè)反向代理服務(wù)器,,而且nginx還可以按照調(diào)度規(guī)則實(shí)現(xiàn)動(dòng)態(tài)、靜態(tài)頁(yè)面的分離,,可以按照輪詢,、ip哈希,、URL哈希、權(quán)重等多種方式對(duì)后端服務(wù)器做負(fù)載均衡,,同時(shí)還支持后端服務(wù)器的健康檢查,。

如果只有一臺(tái)服務(wù)器時(shí),這個(gè)服務(wù)器掛了,那么對(duì)于網(wǎng)站來(lái)說(shuō)是個(gè)災(zāi)難.因此,這時(shí)候的負(fù)載均衡就會(huì)大顯身手了,它會(huì)自動(dòng)剔除掛掉的服務(wù)器.

下面簡(jiǎn)單的介紹下我使用Nginx做負(fù)載的體會(huì)

下載---安裝Nginx這些不介紹了,前篇有介紹.

windows和Linux下配置Nginx負(fù)載的寫法一樣,故不分開介紹.

Nginx負(fù)載均衡一些基礎(chǔ)知識(shí):

nginx 的 upstream目前支持 4 種方式的分配 
1),、輪詢(默認(rèn)) 
      每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,,如果后端服務(wù)器down掉,能自動(dòng)剔除,。 
2),、weight 
      指定輪詢幾率,weight和訪問(wèn)比率成正比,,用于后端服務(wù)器性能不均的情況,。 
2)、ip_hash 
      每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,,可以解決session的問(wèn)題。  
3),、fair(第三方) 
      按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,,響應(yīng)時(shí)間短的優(yōu)先分配。  
4),、url_hash(第三方)

配置:

在http節(jié)點(diǎn)里添加:

#定義負(fù)載均衡設(shè)備的 Ip及設(shè)備狀態(tài) 

upstream myServer {   

    server 127.0.0.1:9090 down; 
    server 127.0.0.1:8080 weight=2; 
    server 127.0.0.1:6060; 
    server 127.0.0.1:7070 backup; 
}

在需要使用負(fù)載的Server節(jié)點(diǎn)下添加

proxy_pass http://myServer;

upstream 每個(gè)設(shè)備的狀態(tài):

down 表示單前的server暫時(shí)不參與負(fù)載 
weight  默認(rèn)為1.weight越大,,負(fù)載的權(quán)重就越大。 
max_fails :允許請(qǐng)求失敗的次數(shù)默認(rèn)為1.當(dāng)超過(guò)最大次數(shù)時(shí),,返回proxy_next_upstream 模塊定義的錯(cuò)誤 
fail_timeout:max_fails 次失敗后,,暫停的時(shí)間。 
backup: 其它所有的非backup機(jī)器down或者忙的時(shí)候,,請(qǐng)求backup機(jī)器,。所以這臺(tái)機(jī)器壓力會(huì)最輕。

Nginx還支持多組的負(fù)載均衡,可以配置多個(gè)upstream  來(lái)服務(wù)于不同的Server.

配置負(fù)載均衡比較簡(jiǎn)單,但是最關(guān)鍵的一個(gè)問(wèn)題是怎么實(shí)現(xiàn)多臺(tái)服務(wù)器之間session的共享

下面有幾種方法(以下內(nèi)容來(lái)源于網(wǎng)絡(luò),第四種方法沒(méi)有實(shí)踐.)

1) 不使用session,,換作cookie

能把session改成cookie,,就能避開session的一些弊端,在從前看的一本J2EE的書上,,也指明在集群系統(tǒng)中不能用session,,否則惹出禍端來(lái)就不好辦。如果系統(tǒng)不復(fù)雜,,就優(yōu)先考慮能否將session去掉,,改動(dòng)起來(lái)非常麻煩的話,再用下面的辦法。

2) 應(yīng)用服務(wù)器自行實(shí)現(xiàn)共享

asp.net可以用數(shù)據(jù)庫(kù)或memcached來(lái)保存session,,從而在asp.net本身建立了一個(gè)session集群,,用這樣的方式可以令 session保證穩(wěn)定,即使某個(gè)節(jié)點(diǎn)有故障,,session也不會(huì)丟失,,適用于較為嚴(yán)格但請(qǐng)求量不高的場(chǎng)合。但是它的效率是不會(huì)很高的,,不適用于對(duì)效率 要求高的場(chǎng)合,。

以上兩個(gè)辦法都跟nginx沒(méi)什么關(guān)系,下面來(lái)說(shuō)說(shuō)用nginx該如何處理:

3) ip_hash

nginx中的ip_hash技術(shù)能夠?qū)⒛硞€(gè)ip的請(qǐng)求定向到同一臺(tái)后端,,這樣一來(lái)這個(gè)ip下的某個(gè)客戶端和某個(gè)后端就能建立起穩(wěn)固的session,,ip_hash是在upstream配置中定義的:

upstream backend {
  server 127.0.0.1:8080 ;
  server 127.0.0.1:9090 ;
   ip_hash;
}

ip_hash是容易理解的,但是因?yàn)閮H僅能用ip這個(gè)因子來(lái)分配后端,,因此ip_hash是有缺陷的,,不能在一些情況下使用:

1/ nginx不是最前端的服務(wù)器。ip_hash要求nginx一定是最前端的服務(wù)器,,否則nginx得不到正確ip,,就不能根據(jù)ip作hash。譬如使用的是squid為最前端,,那么nginx取ip時(shí)只能得到squid的服務(wù)器ip地址,,用這個(gè)地址來(lái)作分流是肯定錯(cuò)亂的。

2/ nginx的后端還有其它方式的負(fù)載均衡,。假如nginx后端又有其它負(fù)載均衡,,將請(qǐng)求又通過(guò)另外的方式分流了,,那么某個(gè)客戶端的請(qǐng)求肯定不能定位到同一臺(tái)session應(yīng)用服務(wù)器上,。這么算起來(lái),nginx后端只能直接指向應(yīng)用服務(wù)器,,或者再搭一個(gè)squid,,然后指向應(yīng)用服務(wù)器。最好的辦法是用location作一次分流,,將需要session的部分請(qǐng)求通過(guò)ip_hash分流,,剩下的走其它后端去。

4) upstream_hash

為了解決ip_hash的一些問(wèn)題,,可以使用upstream_hash這個(gè)第三方模塊,,這個(gè)模塊多數(shù)情況下是用作url_hash的,但是并不妨礙將它用來(lái)做session共享:

假如前端是squid,,他會(huì)將ip加入x_forwarded_for這個(gè)http_header里,,用upstream_hash可以用這個(gè)頭做因子,將請(qǐng)求定向到指定的后端:

可見這篇文檔:http://www./nginx/nginx_url_hash.html

在文檔中是使用$request_uri做因子,稍微改一下:

hash   $http_x_forwarded_for;

這樣就改成了利用x_forwarded_for這個(gè)頭作因子,,在nginx新版本中可支持讀取cookie值,,所以也可以改成:

hash   $cookie_jsessionid;

假如在php中配置的session為無(wú)cookie方式,配合nginx自己的一個(gè)userid_module模塊就可以用nginx自發(fā)一個(gè)cookie,,可參見userid模塊的英文文檔:
http://wiki./NginxHttpUserIdModule
另可用姚偉斌編寫的模塊upstream_jvm_route:http://code.google.com/p/nginx-upstream-jvm-route/

PS:繼續(xù)求救,為什么部署在Nginx 服務(wù)器上的頁(yè)面樣式會(huì)顯示不對(duì)呢?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多