集群的可扩展性及其分布式体系结构之十
2008-12-01 11:03:05 来源:WEB开发网核心提示: 图二:TCP Splicing原理示意图TCP粘合连接的原理如上图所示,该结构于应用级代理的最大不同在于:客户端和集群节点之间的连接在操作系统的核心层进行连接粘合,集群的可扩展性及其分布式体系结构之十(3),也就是说,TCP粘合避免了数据包从核心空间到用户空间的上下文交换这一耗时的过程,并
图二:TCP Splicing原理示意图
TCP粘合连接的原理如上图所示。该结构于应用级代理的最大不同在于:客户端和集群节点之间的连接在操作系统的核心层进行连接粘合。也就是说,TCP粘合避免了数据包从核心空间到用户空间的上下文交换这一耗时的过程,并且可以利用操作系统在核心层TCP/IP协议栈的多线程处理能力,提高TCP连接的交换速度,比如Linux核心2.4。
3、TCP Splicing 处理流程简要描述
相比于应用层代理而言,TCP Splicing技术避免了数据报文的上下文切换工作,减少了核心空间到用户进程的通信开销,整体效率可以作的很好。这一类的技术目前应用的非常稳定有效率,在小型网关设备和简单的负载平衡集群系统中,足够支撑集群的整体运行。
简单说,要实现TCP连接的粘合,要经过至少三个步骤:
1、客户端发起连接请求,并且由均衡器截获请求,完成和客户端的三次握手协议,等待客户端的请求数据(比如Get指令)。
图三:第一步,客户端发起连接
2、均衡器接收到客户端发送的Get请求数据,选定集群节点后,伪装成客户端向集群节点发起请求,完成三次握手协议。并记录下两个连接的本地响应端口,用于映射两个TCP连接。
图四:第二步,均衡器向服务节点发起连接
更多精彩
赞助商链接