我对负载均衡环境下集群和 session 管理的性能有些疑虑。这是我的问题:
- 粘性 session 和 session 复制的缺点是什么。该集群将包含 4 个节点,但可能会出现许多并发用户 session 。
- 两种解决方案的重载性能如何?
- 有人在生产环境中使用过它们吗?
- 可扩展性如何?
- 如果使用持久共享 session - 在哪里存储状态以实现可能快速且稳定的解决方案?
- 您是否有过大规模 session 共享(在外部内存缓存、数据库等中)的经验?
谢谢你的建议
最佳答案
正如已经在 SF 上回答的那样:
- 粘性 session 的缺点是随着节点数量的增加(在 > 100,> 1000 的范围内)失败的可能性增加。那么哪个节点服务于请求并不重要。然而,有一些问题必须以不同的方式解决粘性 session ,这当然取决于需求和应用程序(例如 session 同步、防止双重提交、重定向后发布等)。大多数情况下,只要节点数量有限,我自己的偏好就是使用粘性 session 。对于 4 个节点,我个人建议使用粘性 session 。
- 我们通过 memcached-session-manager 使用了粘性 session 和 session 复制在生产环境中。 memcached-session-manager 是在 tchibo.de(德国最大的电子商务网站之一)重新启动期间开发的,目标是性能和可扩展性。
- 我们为此应用选择了粘性 session
- 因为更好的表现
- 客户要求选择粘性 session
- 使用的网络框架更适合粘性 session 。
关于session - 生产环境中的 Tomcat 集群/负载均衡性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498047/