基于Linux的Web服务集群软件设计及实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着网络技术的不断发展,Web服务广泛的被企业用于产品宣传,日常管理,售后服务以及电子商务。对于一般企业而言,都希望自己的Web服务器能够满足不间断的应用服务需求,但是出于成本考虑,很多企业又都会使用Linux操作系统集群来构建其Web应用的基础架构。但是,长期以来在Linux平台上却一直缺少一种易用性高,扩展灵活,硬件成本低的Web集群软件。
     本文仔细探讨了各种集群的特点,同时在Linux Web集群中选取了目前被广泛使用的LVS (Linux Virtual Server) Web集群软件进行设计改进。事实上,通过分析,可以看出,LVS本身具有很多非常好的Web集群理念,这些理念在负载均衡方面实现非常优秀,但是作为一种Web集群软件而言,易用性和可靠性依然不够高。与此同时,LVS集群也没有考虑到应用的实际需求,整个集群的管理对管理者和内容发布者都非常复杂,稍有不慎,就有可能造成发布内容不一致的问题。
     本文在以上基础上,对LVS系统提出改进,并构建了WS-LVS这样一个更适合目前企业应用的Web集群系统。由于LVS本身具备了多种可供选择的负载均衡,因此,在对多种负载均衡方式的详细分析和对比后,最终采用了VS/DR的负载均衡方案,其次,为了满足Web发布者,又经过多方考证,引用了Lustre的集群文件系统。系统最主要的部分是新加入的集群管理模块,该模块从本质上修改了LVS原来的前置机-Web服务器的两层构架,从而使得仅仅使用两台服务器便能够达到LVS可以达到的易用性标准,同时随着WS-LVS集群中的服务器数量增加,集群易用性也能够不断继续提高。原来在LVS系统前置机部分可能存在的集群的性能瓶颈问题也在WS-LVS系统中得以解决。
     本文最终也以实验数据证明,WS-LVS系统比其原型LVS系统利用率更高,系统易用性和可靠性也更为提高,而可伸缩性也大大的优于原型系统。同时,WS-LVS系统具有目前主流商用集群系统的很多特性,使得新系统能够切实满足各行业Web应用服务基础建设的需要,具有很强的使用价值。同时,系统依然基于Linux及其开放源代码,也使得企业本身对系统的本地化改进成为可能。
With the development of internet technique, Web service is widely used in product propagandism, daily control, after service and e-business. Most of the enterprises hope its own Web server can meet the consecutive needs of application service and many of them will set up the Web-based basic system by Linux operation system cluster due to cost reasons. However, the markets lack of a Linux platform with high availability, agility and lost cost of hard ware.
     This article probes into the specifications of different clusters and make improvement on LVS Web cluster software which is widely used nowadays in Linux Web cluster. In fact, we can see from the analysis that LVS itself owns a lot of good Web cluster concepts which is excellent on Load Balancing, but lack of higher availability and credibility as a Web cluster software. Meanwhile, LVS does not consider the actual needs of application and control of the whole cluster is complicated to the controller and promulgator which will lead to inconsistent of promulgated contents if any inadvertent.
     Based on the above, the article makes some improvement f LVS system and build up WS-LVS Web cluster system which is more suitable for the usage of enterprises. As LVS itself has multiple choices for Load Balancing, VS/DR Load Balancing scheme is adopted after the detailed analysis and contrast for these choices. Second, Lustre cluster file system is used after crosscheck to meet the needs of the web propagandism. The major parts of the system is the newly-added cluster control mode, which amend the previous two-layer frame of prepositive Web server of LVS and can meet the availability standard of LVS by only using two servers. Meanwhile, the cluster’s availability can increase with the increasing of the servers in WS-LVS cluster. The capability bottleneck in prepositive parts in LVS system.
     It is proved by lab data in this article that WS-LVS system owns higher availability, credibility and expansibility than the previous LVS system. At the same time, WS-LVS system owns lot characteristics of mainstreamed business cluster system, which can meet the Web application service building up requirement of all kinds of business and has high usage value. The system is still based on Linux and open to source code, which makes the possibility of system localization for enterprises.
引文
[1] DANIEL P. BOVET & MARCO CESATI,深入理解 LINUX 内核(第三版),东南大学出版社,2006-04
    [2] 黄铠 徐志伟, 可扩展并行计算 技术、结构与编程,机械工业出版社,2003-07
    [3] DAVID A. RUSLING 等,Linux 编程白皮书,机械工业出版社,2000-04
    [4] 毛德操 胡希明,Linux 内核源代码情景分析,浙江大学出版社,2001-09
    [5] Balachander Krishnamurthy, Jennifer Rexford 著,范群波,沈金河译,Web 协议与实现, 科学出版社,2003-10
    [6] M. TIM JONES, 使用 /proc 文件系统来访问 Linux 内核的内容,IBM developerWorks, 2006-04
    [7] M. TIM JONES,使用 Linux 系统调用的内核命令,IBM developerWorks, 2007-04
    [8] M. TIM JONES,Linux 网络栈剖析,IBM developerWorks, 2007-07
    [9] 林曼筠,钱华林,基于标记的缓存协作分布式 Web 服务器系统,软件学报,2003-07.
    [10] 史小冬, 孟 丹, 祝明发, COSMOS: 一种可扩展单一映象机群文件系统, 南京大学学报(自然科学), 2001-10
    [11] 吴思宁,贺劲,熊劲,孟丹, DCFS 机群文件系统服务器组的设计与实现, 2002 全国开放式分布与并行计算学术会(DPCS2002),2002-10.
    [12] 秦航, 徐婕, 一种新的文件系统元数据的检查点容错策略, 计算机工程与设计, 2004-03
    [13] JOSEPH MACK, LVS-HOWTO and LVS-mini-HOWTO, LINUX HOWTO, 2006-02
    [14] Wensong Zhang and Wenzhuo Zhang, Linux Virtual Server Clusters: Build highly-scalable and highly-available network services at low cost, Linux Journal, 2003-11
    [15] Wensong Zhang, Linux Virtual Server: Linux Server Clusters for Scalable Network Services, Free Software Symposium 2002, 2002-10
    [16] Wensong Zhang Linux Virtual Server for Scalable Network Services, Ottawa Linux Symposium 2000, 2000-06
    [17] KARL KOPPER, The Linux Enterprise Cluster, 2005-05
    [18] M. TIM JONES, GNU/Linux Application Programming ,Charles River Media, 2005-01
    [19] Hewlett-Packard Company, Tru64 UNIX v5.1B System internal, HP Internal, 2002-10
    [20] Hewlett-Packard Company, Managing Serviceguard 14th Edition, Hewlett-Packard Company, 2007-06
    [21] Compaq Computer Corporation, OpenVMS Cluster Systems, Hewlett-Packard Company, 2002-06
    [22] S. Shepler, B. Callaghan. RFC 3530: Network File System (NFS) version 4 Protocol. The Internet Society, 2003-05.
    [23] M. Satyanarayanan, J. H. Howard, D. N. Nichols, R. N. Sidebotham, A. Z. Spector and M. J. West, The ITC Distributed File System: Principles and Design, Proceedings of the loth Symposium on Operating System Principles (SOSP), Orcas Island, Washington, U.S., ACM Press, 1985-12.
    [24] Braam, P. J. The Coda Distributed File System, Linux Journal, 1998-06.
    [25] R. Burns. Data management in a Distributed File System for Storage Area Networks. PhD Thesis. Department of Computer Science, University of California, Santa Cruz, 2000-03.
    [26] Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Wide-area cooperative storage with CFS. Symposium on Operating Systems Principles (SOSP’01), 2001-10.
    [27] Randolph Y. Wang and Thomas E. Anderson. xFS: A Wide Area Mass Storage File System. In Proceedings of the Fourth Workshop on Workstation Operation Systems, 1993-10.
    [28] Christos Karamanolis, Mallik Mahalingam, Dan Muntz, Zheng Zhang, DiFFS: a Scalable Distributed File System, Hewlett-Packard Company 2001-08
    [29] L. Cherkasova and M. Karlsson. Web server cluster design with workload-aware request distribution strategy with ward, The 3rd International Workshop on Advanced Issues of E-Commerce and Web-Based Information Systems, 2001-06.
    [30] M.Y. Luo, C.S. Yang, Constructing Zero-loss Web Services, The 20th Annual Joint Conference of the IEEE Computer and Communications Societies, 2001-04.
    [31] D.A. Maltz, P. Bhagwat, TCP Splicing for Application Layer Proxy Performance, IBM Research Report RC 21147, 1998-02.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700