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