【IT168 技术文章】
§1.引言
网络用户数量高速增长使任何单机的网络服务器都不能很好的满足用户需求,网络服务商不得不增加服务器的数量。但是增加独立服务器降低了系统的可扩展性能,增加了系统管理员的维护负担,而且多个服务器使用不同的入口,很可能引起负载的极度不均衡。而如果采用Cluster结构加上可扩展软件构成单一入口的服务器系统便能很好地解决这些问题。本文介绍了在曙光2000-II型大规模并行机上采用该结构实现单一入口点的Web服务器和Email服务器,评测了它们的性能特征,证实了该结构具有良好的可扩展性能。
§2.基于Cluster结构的Web和Email服务器
Cluster结构的机群系统是一组物理上通过局域网络或高带宽交叉开关连接起来的计算机集合,每个计算机称为一个节点。每个节点含有自己的操作系统,内存,硬盘以及网卡,是一个可独立运行的计算机系统。基于Cluster结构的Web或Email服务器就是在每个节点上都安装一套Web或Email服务软件,实现了Web和Email服务器的并行化,利用可扩展性软件对这些节点进行管理。
本文的评测结果是在曙光2000-II型机上获得。其中服务器节点的配置为双CPU的PowerPC主板(200MHz ,512M内存,9G硬盘,100Mb以太网卡),而客户端则采用双CPU(PowerPC),333MHz,1024M内存,9G硬盘,100Mb以太网卡的系统,在Mail服务中使用的数据库为Postgres。
§3.可扩展软件介绍
下面介绍支持多节点Web服务器的可扩展软件程序包PowerRouter和支持Email服务器的程序包MailProxy。
PowerRouter运行于系统的核心态,纪录了各个服务器的负载情况,并分派任务。当一个请求到达时,PowerRouter根据请求和服务器的负载,选择一个服务器,修改请求中目的地址为选中服务器,传送用户请求,后续的操作便可以在用户和服务器之间直接进行,如图3.1所示。可以看出,在机群系统上用PowerRouter实现的单一入口点不仅仅为用户提供一个虚拟的IP,屏蔽了其后庞大的网络机群,还起到监控系统和负载平衡的作用。这是因为PowerRouter是用户访问机群的唯一入口,机群内部各节点的任务都来源于PowerRouter的分派。因此,PowerRouter能够明了系统内部各节点的状态并实现适当的负载平衡机制,使机群Web服务器能够具有很高的性能。
MailProxy作为邮件收发的代理,包含POP3代理和SMTP代理两部分,还包含一个数据库,记录所有用户的名称以及为该用户服务的服务器。当用户提出Mail请求时,MailProxy首先根据用户名称查询数据库,得到合适的邮件服务器,并在用户和该服务器之间传递信息。和PowerRouter不同,在交互过程中,MailProxy始终作为用户和Mail服务器之间的中介存在。在用户看来,只有MailProxy的地址可见,多个Mail服务器的地址被屏蔽。如图3.2所示,由于MailProxy直到该次Mail操作结束之前不会释放资源,因此占用资源较多,时间也较长,于是一个MailProxy不可能为过多的Mail服务器服务。如果系统具有较多的Mail服务器,则必须设置两个甚至多个MailProxy。在这种情况下,为了继续保持Mail系统单一入口的特点,在MailProxy之上就需要增加一个PowerRouter层。由PowerRouter首先在多个MailProxy中选择一个为用户服务。