论文部分内容阅读
互联网规模的急剧扩张给网络服务器带来大规模并发和高可用性的挑战。传统网络服务器软件结构由于处理逻辑紧密耦合、缺少有效隔离、资源管理模式单一等原因,存在着吞吐量低、可靠性差等问题。因此,提供一种高吞吐量、高可用的网络服务器体系结构及其实现成为必要。另一方面,服务器虚拟化技术蓬勃发展,它因其带来的可伸缩资源管理、执行环境间的隔离等优势成为研究热点。这使利用虚拟化技术改进网络服务器体系结构设计,提高网络服务器吞吐量和可用性成为可能。
本文基于传统网络服务器软件结构存在的问题以及现实挑战,提出并且实现了一种基于虚拟化技术的新型流水线网络服务器体系结构-MVMDP,该结构基于拆分的思想将HTTP处理逻辑流水线化。同时,虚拟化技术为MVMDP结构中的各流水级提供了有效的隔离保证和灵活的按需资源流动。结合虚拟化技术提供的以上优势,本文在MVMDP结构上实现了HTTP处理逻辑流水线化、动态流水线结构、面向请求的可靠性保障等机制。上述机制保障了MVMDP结构在高负载下提供稳定、有效的服务。实验表明,相对于Apache等传统网络服务器结构,MVMDP在高负载情况下吞吐量提升47%。在可用性方面,MVMDP除了利用虚拟化技术提供执行环境间的安全隔离外,还实现了面向请求的可靠性保障机制。该机制的可用性达到99%,相比于传统网络服务器系统普遍采用的心跳机制,该机制可用性显著提高。