session - 生产环境中的 Tomcat 集群/负载均衡性能

标签 session tomcat load-balancing cluster-computing

我对负载均衡环境下集群和 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/

相关文章:

tomcat - 让 Grails、Spring Security Core Plugin 和 Tomcat 使用 X.509 证书身份验证

spring-mvc - 通过编码错误的 WAR 部署的 Spring Boot 静态文件

node.js - Node js,使用 connect-memcached 时没有返回响应

java - 为什么在jsp上调用session会返回错误?

ruby-on-rails - rails : get session timeout

java - 使用 Tomcat Servlet 容器如何将 jsp 文件作为 html 文件提供

ajax - 负载平衡、AJAX 和您

ssl - 带非TLS后端的HTTPS负载平衡器和带TLS后端的HTTPS负载平衡器有什么区别

azure - 如何查看负载均衡器中实例的运行状况?

javascript - ajax GET 不适用于 header 参数