J2EE集群原理:
http://www.jdon.com/jive/article.jsp?forum=121&thread=22282
EJB能够实现组件级别的细粒度failover,以及分布式缓存和状态管理,这些都是Web层简单的依靠请求分发进行平衡所不能达到的。
网上有关Tomcat的集群实际是实现依据请求信号分发的一种负载平衡,而不是状态复制和failover.
EJB能够实现组件级别的细粒度failover,以及分布式缓存和状态管理,这些都是Web层简单的依靠请求分发进行平衡所不能达到的。
网上有关Tomcat的集群实际是实现依据请求信号分发的一种负载平衡,而不是状态复制和failover.
banq强词夺理的本事欧真是佩服的无以复加
欧在这里替老板说句话,呵呵。我想banq的意思重点不是说把ejb搞细,做成细粒度的东东。而是说,不管我这ejb多庞大,我一个ejb总比你一个web application要小吧,所以我就可以利用这一点,灵活的按照ejb的访问量和cpu占用等决定它要几个机器作集群,而web app肯定做不到这一点。
嗯,不过翻开老马的POEAA分布式一章,那个反面的例子就是这么讲的,提出这种想法的架构师搞得老马很无奈。于是,书里就提出了 分布对象的第一定律:8要分布你的对象……
另外关于老马的话,各人理解不一定一样,这和本主题有距离了,另外帖子讨论吧。
另外:老马不是神,老马如果对分布式集群如此远见和精通,就不会有BEA迅速崛起:
TOMCAT5完全可以支持集群,JTA跟这个好象没有关系吧。
另外楼上还有朋友说 “spring+hibernate进行集群问题在于hibernate的cache如何进行同步”
倒 hibernate 用的都是第3方的缓存实现跟HIBERNATE有什么关系,它可以用jboss catch。 看看EJB3。0的HIBERNATE实现就知道了,如果涉及到多个系统访问同一个数据库中的数据(不同的系统),我看最好还是不用缓存了。
最好使用基于SNA的可扩展方案,基于负载均衡和无状态的管理.
如果非要使用缓存,可看一下memcache,好东西可以解决分布式缓存问题.
如果非要基于状态管理,网站系统使用cookie+memcache来解决,要是业务系统就使用session_sticky就可以了.