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

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

 2008-12-01 11:03:05 来源:WEB开发网   
核心提示: Step3:负载均衡器回应一个对应的ACK(CSEQ+1,表示对应于初始序列的应答序列)到客户端口,集群的可扩展性及其分布式体系结构之十(5),回送客户端监听口,同时,连接请求被隐蔽的延迟了,关于负载平衡策略的讨论不是本文的重点,发起一个Syn(DSEQ表示新的报文序列号), Step4:

Step3:负载均衡器回应一个对应的ACK(CSEQ+1,表示对应于初始序列的应答序列)到客户端口,回送客户端监听口。同时,发起一个Syn(DSEQ表示新的报文序列号)。

Step4:Ack应答数据以及新的Syn报文从客户端监听口回送客户端,客户端接收响应,第一次握手完成。

众所周知的是,由于IP网络是分组转发的,而接收端试用的缓冲区也会导致收到非完全序列的报文。因此,TCP为了保证报文发送序列与接收序列的同步,定义了一个报文序列协议规范。关键在于:每次发送的报文中所包含的序列,一定是准备接下来接收的ACK应答报文的序列。

Step5:客户端在收到集群的正确应答数据后,认为连接已经建立(实际上,客户端仅仅是和负载均衡器建立了连接,它被欺骗了J)。向服务端发出数据请求报文DATA(CSEQ+1),并且对均衡器的SYN(DSEQ)进行应答,同时发送ACK(DSEQ+1)。至此完成了三次握手的全部过程,并且开始进行数据通信。

由于面向内容的负载平衡必须在收到客户端发出的含有协议内容的数据之后(例如Get指令),才能进行负载调度的判断工作,因此,需要针对客户端的连接请求进行"欺骗",待于客户端的连接建立之后将其挂起,准备调度。这样的操作,显然延迟了客户端到实际节点之间的连接进程,也有文献称之为TCP Delay Binding。

Step6:关键的一步。真正的请求数据第一次到达了负载均衡器的调度模块。调度根据请求中的有效协议信息做出负载平衡判断。判断的依据可以是请求的文件类型,或者是服务级别。另外,负载平衡器也要根据当前服务节点的权值队列,选择目前符合服务条件的负载最轻的节点。而客户端的请求在这里将被挂起,从客户端的角度看,连接请求被隐蔽的延迟了。关于负载平衡策略的讨论不是本文的重点,具体的调度算法和平衡策略将在后续篇章中介绍。

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

Tags:集群 可扩展性 及其

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