多台服务器情况下的接续方式
作 者: 小齐
最近一段时期以来,由于在稳定性和性能价格比方面具有明显优势,多台小型服务器加负载均衡技术的模式已渐成网站体系结构的流行时尚。另外,随着网络信息流量的迅速膨胀,需要使用多台服务器的情况也越来越普遍。
但是,大多数电子商务网站和不少企业在使用多台服务器时都碰到过这么一个问题:一个交易流程通常包括客户浏览器与服务器之间的数个TCP连接,而这些来自同一客户的访问可能会被导向多台服务器。
在多个服务器环境下,并不是所有的负载均衡设备都能满足不同的接续方式。接续的工作方式要求忽视服务器上的负载情况,而负载均衡产品首先是要保证负载的均衡,然后才是尽量满足接续要求。
由此产生了多种解决接续问题的方式,其中有3种对电子商务网站尤为重要,它们是:虚拟资源、cookie和基于ID的SSL(Secure Sockets Layer)对话方式。
当企业或ISP使用负载均衡方法通过多台代理服务器接入互联网时,同一个用户的多次TCP连接可能会经由不同的代理服务器到达网站; 因而,对某个特定用户来说,其IP地址在连接中并不是一个可靠的指示器。这就是所谓的多代理服务器问题,可采用基于cookie或虚拟资源的接续方式来解决。
■ 虚拟资源方式
虚拟资源接续方式允许负载控制器像对待同一来源的流量一样对待来自不同IP地址的信息, 在不能使用cookie的环境下,或当用户关闭了浏览器中的cookies 时,虚拟资源方式是个方便的选择。
■ 基于cookie的方式
cookie又称魔力cookie,是一个存于浏览器目录或文件夹中的文本文件。当浏览器运行时,则自动调存于随机存取存储器(RAM)。其内容多为普通信息,但也可用来存储一些个性化参数。
基于cookie的接续有两种实现途径。
第一种是,由Web服务器设置一个cookie值,用以指示负载均衡转换器将某一连接导向特定的服务器。
第二种方案就是,由负载控制器在整个cookie环上随机地挑选一个cookie值,为该值选定一个Web服务器,一旦负载转换器为这一随机值选择了某个服务器,以后来自同一cookie环的所有请求都将交由这台服务器处理。
■ 基于ID的SSL对话方式
SSL 是用来为互联网电子商务提供安全保障的协议。如下图所示,为了建立起SSL对话,客户和Web 服务器首先要交换一些用于加密和解密的数据。Web 服务器发出一个SSL标识符作为交流的一部分。负载转换器将这一SSL对话的ID和与之连接的服务器信息储存下来,以便将随后而来的所有含有该ID的信息流都指向同一服务器。
用于较高级别对话接续的负载均衡装置,其同时对话的能力是一项重要的考察指标。因为在扩展的时间段内确保对话的接续,要消耗相当一部分对话表,负载均衡转换器必须拥有足够的对话能力,因为它不仅要处理所有的对话,而且还要跟踪已有对话的接续信息。
例如,要成功地同时为2万个顾客提供购物车,负载均衡转换器就必须跟踪2万个SSL对话ID。
在中心共享储存器跟踪对话的负载均衡转换器,通常能提供高等级同时对话能力,并支持多种不同的网络拓扑,以满足不同的性能价格比和可靠性需求。而在各端口存储器中跟踪对话的负载均衡转换器,因为端口的限制,所能提供的同时对话能力就非常有限。
(摘自 赛迪网 文/小齐)
发布人:netbull 来自:蓝森林