集群的基本概念及相关术语

来源:互联网 发布:xp如何共享网络打印机 编辑:程序博客网 时间:2024/06/11 00:36

42.1. 集群的基本概念及相关术语

42.1.1. 可扩展性(Scalability)

标识系统应对逐渐增加负载的能力,对一个大型系统,很难预知最终用户的数量和行为,可扩展性就是指系统能够快速适应负载的增加。通常解决这个问题有两种方式:

(1)通过增加CPU,内存或硬盘,提高系统处理能力。

(2)使用集群,用一组计算机共同分担繁重的工作,对最终用户来说,就好像一台计算机。

42.1.2. 可用性(Availability)

标识系统供客户使用的时间百分比。可用性不涉及到系统服务客户的效率,它仅仅关注客户能否访问到服务。可用性就是指系统能够快速解决类似网络堵塞,网络延迟等问题,避免系统不可用的情况出现。

42.1.3. 可靠性(Reliability)

标识系统是否一直能够同预期一样稳健地运行。一旦往系统中添加新的组件,系统的可靠性就容易得到破坏。可靠性就是指系统即使出现故障,都能够保证业务的稳健运行。容错是可靠性系统重要特征。

42.1.4. 失效转移(Fail-Over)

失效转移是集群中实现可用性的一个重要技术。在集群中,当某个节点失效,服务可以转移到其他节点完成处理。这种转移可以通过硬件或软件实现。

42.1.5. 负载均衡(Load Balance)

负载均衡是指通过一定的算法将请求合理分配到集群中多个节点,从而达到优化整个系统性能的作用。

42.1.6. 会话粘滞(Session Stick)

会话粘滞是指在负载均衡模式下,用户的请求每次都被发送到第一次处理该请求的服务器上。这样可以避免集群中会话的频繁复制,提升集群的性能。

42.1.7. 幂等性(Idempotent)

幂等性是指重复使用同样的参数调用同一方法时总能获得同样的结果。比如对同一资源的GET请求访问结果都是一样的。

 

42.2. J2EE集群

J2EE集群包括Web集群,JNDI集群,EJB集群,JMS集群等。当提及J2EE集群时,涉及的两个重要概念:负载均衡,失效转移。

42.2.1. 负载均衡

负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到集群中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。负载均衡介于调用者和被调用者之间。如下图所示:

负载均衡器提供相应的算法(如随机算法,轮循算法,权重算法等)来分发和调度客户请求。目前存在各种类型的负载均衡器(硬件如:F5,软件如:apache server,微软的IIS等)。

42.2.2. 失效转移

失效转移是为了保证集群可用性的一个重要技术手段。当客户端发起请求,处理该请求的服务器出现故障,负载均衡器可以将请求透明的重定向到另一台可用的服务器上。如下图:

在请求重定向到其他服务器时,用户总希望看到一致的应用状态,这将意味着应用状态必须备份到集群的某个地方。不同的服务器对于应用状态的备份采用不同的备份策略,比如:多服务器备份,配对备份,中央服务器备份等。

失效转移是为了保证集群可用性的一个重要技术手段。当客户端发起请求,处理该请求的服务器出现故障,负载均衡器可以将请求透明的重定向到另一台可用的服务器上。如下图:

在请求重定向到其他服务器时,用户总希望看到一致的应用状态,这将意味着应用状态必须备份到集群的某个地方。不同的服务器对于应用状态的备份采用不同的备份策略,比如:多服务器备份,配对备份,中央服务器备份等。