nginx把同一用戶的請求分發到了不同的服務器,如果不做處理,就會導致session丟失。
1、粘性IP:
在nginx配置文件中,增加配置, 對IP進行HASH后,散列到服務器。
這個實現最簡單。但對於前端部署了SBC的,或者很多請求都是從某一個外網網關過來的,就沒用了。而且對於app會切換wifi變ip的,也不好用。
2、服務器Session復制
<1> 在 tomcat的web.xml中配置為集群模式,
<2> 在tomcat的server.xml中配置集群信息。
配置后,就可以自動復制session了。
缺點是每台服務器上都要保存全量的session信息,在服務器多的情況下,基本不可用。但開發簡單,在只有兩三台服務器的時候,是可以的。
具體配置如下:
3、session共享配置
原理:
springboot整合redis使用nginx實現負載均衡實現session共享
https://blog.csdn.net/eumenides_/article/details/78390837?locationNum=4&fps=1