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

Posted

技术标签:

【中文标题】生产环境中的Tomcat集群/负载均衡性能【英文标题】:Tomcat clustering/loadbalancing performance in production environment 【发布时间】:2011-07-26 18:20:48 【问题描述】:

我对负载均衡环境中集群和会话管理的性能有一些疑问。以下是我的问题:

粘性会话和会话复制的缺点是什么。集群将包含 4 个节点,但可能会出现许多并发用户会话。 两种解决方案的重载性能如何? 有人在生产环境中使用过它们吗? 可扩展性如何? 如果使用持久共享会话 - 在哪里存储状态以实现可能快速且稳定的解决方案? 您是否有过大规模会话共享(在外部内存缓存、数据库等)方面的经验?

感谢您的建议

【问题讨论】:

【参考方案1】:

正如已经在 SF 上回答的那样:

粘性会话的缺点是,随着节点数量的增加(在 > 100、> 1000 的范围内),失败的概率会增加。那么最好是哪个节点为请求提供服务并不重要。然而,有一些问题必须以不同的方式解决,这当然取决于要求和应用程序(例如会话同步、防止重复提交、发布后重定向等)。大多数情况下,只要节点数量有限,我自己的偏好是使用粘性会话。对于 4 个节点,我个人建议使用粘性会话。 我们在生产环境中通过memcached-session-manager 使用了粘性会话和会话复制。 memcached-session-manager 是在 tchibo.de(德国最大的电子商务网站之一)重新启动期间开发的,旨在兼顾性能和可扩展性。 我们为此应用程序选择了粘性会话 因为性能更好 客户需求选择了粘性会话 使用的网络框架更适合粘性会话。

【讨论】:

以上是关于生产环境中的Tomcat集群/负载均衡性能的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+Tomcat 负载均衡(动静分离)集群

Nginx+Tomcat负载均衡集群

Nginx+Tomcat搭建高性能负载均衡集群-Windows本地测试版

Nginx+Tomcat负载均衡集群

Nginx+Tomcat实现负载均衡动静分离集群部署

Nginx+Tomcat搭建高性能负载均衡集群