Sun Cluster 概述(适用于 Solaris OS)

可伸缩数据服务

群集联网的主要目的在于为数据服务提供可伸缩性。可伸缩性意味着当提供给服务的负载的增加时,如果向群集中添加新的节点并运行新的服务器实例,那么数据服务对这种增加的工作负载就能保持一个不变的响应时间。Web 服务是可伸缩数据服务的一个很好的示例。通常,可伸缩数据服务由几个实例组成,每一个示例运行在群集的不同节点上。这些实例一同作为一个服务为该服务的远程客户机提供服务,并实现该服务的功能。如果可伸缩 Web 服务含有在不同节点上运行的多个 httpd 守护进程,则此服务可以指定任意守护进程为客户机请求提供服务。服务于请求的守护进程依赖于负载平衡策略。对客户机的回复看起来是来自该服务,而不是为请求提供服务的守护进程,从而实现了单一服务外观。

下图描绘了可伸缩服务的体系结构。

图 3–3 可伸缩数据服务体系结构

说明:运行在多个节点上的数据服务请求。

当前不作为全局接口主机的节点(代理节点)与它们的回送接口共享地址。进入全局接口的数据包将按照可配置的负载平衡策略分配到其他群集节点上。可能的负载平衡策略在下一节说明。

负载平衡策略

负载平衡在响应时间和吞吐量上同时提高了可伸缩服务的性能。

可伸缩数据服务分为两类:纯粹服务粘滞服务。纯粹服务就是任何实例都可以对客户机的请求作出响应的服务。粘滞服务则由群集将请求的负载平衡到节点。那些请求不被重定向到其它实例。

纯粹服务使用加权的负载平衡策略。在这种负载平衡策略下,客户机请求按缺省方式被均衡地分配到群集内的服务器实例之上。例如,在一个三节点群集中,每个节点的加权为 1。每个节点代表该服务对客户机的所有请求中的 1/3 提供服务。随时可以通过 scrgadm(1M) 命令接口或通过 SunPlex Manager GUI 更改加权。

粘滞服务有两种:普通粘滞通配粘滞。粘滞服务允许多个 TCP 连接上并行的应用程序级会话来共享状态内内存(应用程序会话状态)。

普通粘滞服务允许客户机在多个并行的 TCP 连接之间共享状态。相对于服务器实例在单一端口上收听的情况,该客户机称为“粘滞”。如果实例保持打开状态并可访问,并且在服务处于联机状态时负载平衡策略未改变,则可以保证该客户机的所有服务请求都传给相同的服务器实例。

通配粘滞服务使用动态分配的端口号,但仍期望客户机请求去往相同的节点。相对于去往相同 IP 地址的情况,客户机就是端口上的“粘滞通配”。