我正在努力理解并弄清楚如何避免粘性会话。
我研究了很多关于Sticky and NON-Sticky sessions和Pros and Cons of Sticky Session / Session Affinity load blancing strategy?以及会话的粘性avoided at all costs但这些资源和问题都没有真正提到粘性会话的替代策略或者如何维护用户状态。
我想到的一些想法是跟踪会话的中心数据库,但这似乎也是糟糕的设计。
答案 0 :(得分:0)
实际上,您也可以结合使用分布式缓存(Redis)和中央数据库。最终从缓存和数据库读取数据是为了保持一致性,同时将所有缓存的数据定期写入数据库。
缓存和数据库数据结构也应具有到期时间,并且您可以在每次操作发生时重置时间。如果您要避免粘性会话,这是一种方法。粘性会话不会更频繁地失败,如果负载均衡基于IP地址配置,则会显示不一致。