1)下面两种情况需要集群
a. large-scale system
比如www.qq.com等门户,需要能够透明地扩容,需要保证scalability.
b. mission-critical system
比如招行交易系统,需要保证availability in 24 hours和Fault tolerance.
2)web clustering包括两大功能需求:
web load balancing+Http session failover
分布式系统与clustering系统的区别是:
分布式指在client调用,但在remoting执行。
这里的remoting可能包括:不同的machine/processes/JVM等。
3)web load balancing的需求
a. 实现LB算法,目前有Round-robin等通用算法。
b. health check 芯跳检测
c. session stickness:要能记忆会话状态
实现的方法可以是硬件如:F5或者软件。
4)session failover的需求
a. global HttpSession ID
b. backup session states
c. back frequency control