Nginx負(fù)載均衡器如何實(shí)現(xiàn)自行共享
Nginx負(fù)載均衡器一直在我們的服務(wù)器建設(shè)中使用,但是在使用的時(shí)候有不少的問題出現(xiàn)。尤其是在處理session共享的幾個(gè)問題上有不少的問題。下面我們就詳細(xì)的看看如何才能解決問題。
1) 不使用session,換作cookie
能把session改成cookie,就能避開session的一些弊端,在從前看的一本J2EE的書上,也指明在集群系統(tǒng)中不能用session,否則惹出禍端來就不好辦。如果系統(tǒng)不復(fù)雜,就優(yōu)先考慮能否將session去掉,改動(dòng)起來非常麻煩的話,再用下面的辦法。
2) 應(yīng)用服務(wù)器自行實(shí)現(xiàn)共享
已知的,php可以用數(shù)據(jù)庫(kù)或memcached來保存session,從而在php本身建立了一個(gè)session集群,用這樣的方式可以令session保證穩(wěn)定,即使某個(gè)節(jié)點(diǎn)有故障,session也不會(huì)丟失,適用于較為嚴(yán)格但請(qǐng)求量不高的場(chǎng)合。但是它的效率是不會(huì)很高的,不適用于對(duì)效率要求高的場(chǎng)合。以上兩個(gè)辦法都跟Nginx負(fù)載均衡器沒什么關(guān)系,下面來說說用Nginx負(fù)載均衡器該如何處理:
3) ip_hash
Nginx中的ip_hash技術(shù)能夠?qū)⒛硞€(gè)ip的請(qǐng)求定向到同一臺(tái)后端,這樣一來這個(gè)ip下的某個(gè)客戶端和某個(gè)后端就能建立起穩(wěn)固的session,ip_hash是在upstream配置中定義的:
- upstream backend {
- server 127.0.0.1:8001;
- server 127.0.0.1:8002;
- ip_hash;
- }
以上就是對(duì)Nginx負(fù)載均衡器的詳細(xì)介紹。
【編輯推薦】