内核中的基于内容请求分发

前面几章讲述了在Linux虚拟服务器(Linux Virtual Server)的框架下,先在Linux内核中实现了含有三种IP负载均衡技术的IP虚拟服务器,可将一组服务器构成一个实现高可伸缩、高可用的网络服务的服务器集群。在IPVS中,使得服务器集群的结构对客户是透明的,客户访问集群提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正确地重置系统达到高可用性。

IPVS基本上是一种高效的Layer-4交换机,它提供负载平衡的功能。当一个TCP连接的初始SYN报文到达时,IPVS就选择一台服务器,将报文转发给它。此后通过查发报文的IP和TCP报文头地址,保证此连接的后继报文被转发到相同的服务器。这样,IPVS无法检查到请求的内容再选择服务器,这就要求后端的服务器组是提供相同的服务,不管请求被送到哪一台服务器,返回结果都应该是一样的。但是在有一些应用中后端的服务器可能功能不一,有的是提供HTML文档的Web服务器,有的是提供图片的Web服务器,有的是提供CGI的Web服务器。这时,就需要基于内容请求分发 (Content-Based Request Distribution),同时基于内容请求分发可以提高后端服务器上访问的局部性。

Comments

请问,ktcpvs 和 ipvs是两个不同的方案吗?我需要基于内容的转发,我安装了 ktcpvs后,还需要安装 ipvs模块吗?谢谢。

randomness