论文部分内容阅读
“集群WEB代理服务器”是根据北京市科委“基于IPv6的下一代互联网关键技术研发及产业化推进”项目中“IPv6流媒体分发应用支撑系统”的一个子系统且已得到了实际的应用。由于增长的WEB服务需求产生了用户体验与现有网络带宽的矛盾。提供服务的因特网运营商在解决这一矛盾时,必须考虑用户体验,且应尽可能地满足用户。本文所提出的一种新型架构的透明集群WEB代理服务器一般布置在运营商局域网的出口。通过实际测试,发现这种集群透明WEB代理服务器能有效地降低运营商出口流量,并节省约8%的成本。本论文所提出的是一种新型透明集群代理服务器。透明代理,与NAT(网络地址转换)有许多地方很相似,通常是通过对TCP报头的拦截并纂改其报头而得以实现的。处于透明代理时,用户感觉不到代理的存在,减少了为通知用户正确设置IP所遇到的困难。因此,采用透明代理不但使运营商节省了费用,也节省了用户的时间与精力。另外,采用集群一方面尽可能地提高了其代理服务器的I/O吞吐能力与服务能力,另一方面也减少了响应时间。在本论文的开始,先对涉及一般代理服务器及虚拟服务器体系架构的术语及相关协议进行了必要的介绍,对单节点代理服务器所涉及的关键技术及基于IP地址的Round-Robin负载均衡等调度算法也做了介绍。由于集群中前端节点每秒会对数万个TCP包进行拦截与分析,并会向LBE产生频繁的查询操作,所以采用了epoll异步驱动机制,以提高其响应速度,减轻前端节点的压力。通过对不同的服务架构与事件驱动机制的分析,本文构架了遵循HTTP标准的高性能集群代理服务器,并在Linux平台上实现了其基本功能。系统各模块运行在一个基于异步事件驱动的系统运行框架之上。根据Linux2.6内核特性,利用其提供统一的事件的登记和回调接口,所有的操作都是通过登记事件,然后在检测到异步事件时回调相应的处理函数,整个过程都是异步的。另外,为了获得高性能,在设计上采用了HASH散列技术,内存池及线程池技术,提高了对磁盘文件的搜索与传输速度。在论文的后半部分对详细设计与实现以及其实现的一些缺点也分别做了阐述。通过测试,证明了设计是基本成功的,获得了预期的扩展性与I/O性能。