WEB开发网
开发学院服务器服务器方案 集群的可扩展性及其分布式体系结构之十 阅读

集群的可扩展性及其分布式体系结构之十

 2008-12-01 11:03:05 来源:WEB开发网   
核心提示: 这类的代理服务器大多数针对特定的应用层协议进行双向网络连接的交换工作,比如特定的HTTP、HTTPS代理,集群的可扩展性及其分布式体系结构之十(2),FTP代理等,都要求代理服务器理解对应的高层协议的通信原语,并在随后的请求报文中分析数据并决定真正被访问的服务节点,然后才与服务节点建立另一

这类的代理服务器大多数针对特定的应用层协议进行双向网络连接的交换工作,比如特定的HTTP、HTTPS代理,FTP代理等,都要求代理服务器理解对应的高层协议的通信原语,因此往往通过一个多线程的用户进程来实现。

2、核心级的TCP粘合交换技术 ― TCP Splicing

大多数的四层交换产品,都是在网络传输协议层(TCP)进行工作。它们通过转换数据包的端口和IP地址信息,将数据重新定向到服务节点上。比如,将HTTP请求定向到Web Cache服务器上,或者将请求均匀分配到不同的节点实现负载平衡。而面向内容调度的提出,要求在四层交换的基础上进一步识别交换数据的内容,以实现智能交换和更高的性能。

传统的四层交换,在客户端发出第一个Syn包后,均衡器对服务节点群进行选择,并将该SYN后续的报文直接发往选定的节点。处理的模式固然简单并且有效率,但是对于需要解析报文内容的交换机而言,需要在连接建立后(SYN开始之后并完成三次握手),才从接下来的报文中获得负载平衡所需的信息(比如,一个HTTP协议的Get的请求,在客户端完成了连接建立的操作之后,均衡器才能获得具体的Get指令内容)。这意味着,均衡器不能仅仅根据SYN报文的地址和端口信息就做出调度判断;而要把调度的决定延迟到相关业务数据到达的时候进行――整体上讲,交换被"延迟"了。

于是,原理上,负载均衡器(也就是应用级代理),需要监听客户端的连接请求,并在客户端发出连接的请求之后(从SYN开始),建立客户端到均衡器之间的连接(通过TCP的三次握手协议完成)。并在随后的请求报文中分析数据并决定真正被访问的服务节点,然后才与服务节点建立另一个连接,将两个连接粘合在一起(Splicing)。

上一页  1 2 3 4 5 6 7  下一页

Tags:集群 可扩展性 及其

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接