我們都知道,session是用於在伺服器上儲存使用者的登入資訊的,在使用負載均衡時,後端的伺服器ip不是固定的,這樣就導致了使用者重新整理網頁後登陸資訊會失效、訂單異常等一系列問題。
一般有以下方法來解決這個問題
nginx ip_hash
通過nginx負載均衡策略中ip_hash來保持資料的持久化,原理就是客戶端訪問時,nginx會將客戶端的ip轉換為乙個固定的hash值,同一客戶端連續的web請求都會被分發到同一伺服器進行處理,從而達到保持請求狀態的完整性的目的。
upstream example.com
server
}
使用redis/memcached等快取伺服器
使用redis是我個人比較喜歡的方式,原因也很簡單,因為它是目前市場上用的最多,速度最快的非關係型資料庫!它真的非常快、快、快!
當然了,你要先告訴開發,session模組要分開來寫,將對系統i/o有較高需求的模組(比如session、快取、佇列資料、臨時中專資料等等)都可以通過redis進行儲存。需要注意的是,一定要先搭好集群,做好持久化!不然又是一次重大的生產事故了,血崩!
nginx負載均衡redis共享session
前期準備 linux下安裝nginx,安裝redis 在nginx 中的conf資料夾下的nginx.conf檔案 上加入負載均衡 weight 為權重數,值大的優先訪問 upstream qmgmampcls server10.133.64.33 8080 weight 10 server 10....
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
nginx負載均衡
nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...