问一个基础问题,帮我理解一下概念
在网上看到一篇文章,tomcat做负载均衡但是不集群,使用session粘合,我很不解tomcat不是只有先集群才能做负载均衡吗?怎么还有只做负载均衡不集群的说法?还是我没有明白负载均衡和集群的意思?
如果负载均衡和集群是两个概念,那tomcat的集群是干什么用的?
tomcat主要是负载平衡,没有失败恢复,也可以称为集群,就像Web系统也可以称为JavaEE或J2EE一样。
但是这些概念都已经过去了。因为集群中两项(负载平衡和失败恢复)和分布式事务(或数据库事务 保证高一致性)三者是不可能同时都做得很好。
因为这是CAP定律告诉我们的。
所以,我们不要寄希望于JavaEE服务器比如Tomcat JBoss Websphere Weblogic等在多服务器分布式环境中,能够同时可以带来高性能 容错性以及高一致性。只能取得其中两者优秀。
换句话说:你充分使用集群两项:负载平衡和失败恢复高容错性,那么再就无法得到基于数据库的ACID事务(JDBC事务或JTA事务)带来高一致性,如果你使用tomcat集群,也就是负载平衡,再使用数据库事务,你就不能得到失败恢复高容错性。由你根据情况组合。