負載均衡時,為了保證同一用戶session會被分配到同一台服務器上,可以使用以下方法:
1.使用cookie
將用戶的session存入cookie里,當用戶分配到不同的服務器時,先判斷服務器是否存在該用戶的session,如果沒有就先把cookie里面的sessoin存入該服務器,實現session會話保持。缺點是存入cookie有安全隱患。
2.使用緩存
利用memcache,redis等緩存分布式的特點,可以將所有服務器產生的session存入同一台服務器的緩存中,實現session共享。這樣安全性比較高,而且從內存中讀取session比從文件中讀取速度快。
3.使用ip_hash
如果是nginx服務器的負載均衡,可以在upstream里設置ip_hash,每個請求按訪問ip的hash結果分配,映射到固定某一台的服務器。缺點是可能導致負載不均衡。