吴海明
摘 要:随着互联网的迅速发展,Linux操作系统在市场上得到了广泛的应用。文章以CentOS操作系统为平台,使用Nginx,Keepalived开源软件实现了高可用性负载均衡集群,确保企业网站7×24小时稳定运行。
关键词:Linux;Keepalived;负载均衡;高可用集群
中图分类号:TP316.81 文献标志码:A 文章编号:2095-2945(2018)36-0017-02
Abstract: With the rapid development of the Internet, Linux Operating System has been widely used in the market. In this paper, with the CentOS Operating System as the platform, adopts the Nginx and Keepalived open source software to achieve high availability load balancing cluster, so as to ensure the stable operation of enterprise Web site 724 hours.
Keywords: Linux; Keepalived; load balancing; highly available cluster
引言
企业信息化的发展伴随着企业的发展,企业网站的访问量也随着迅速增长,这背后也需要有大量的服务器来支撑,这对服务器的性能,可靠性要求高。在此种情况下,企业网站面对大量用户访问、高并发请求、硬件投入等问题。本文将从低成本、高扩展、高可用、高性能的角度出发,探讨使用负载均衡集和高可用性集群架构,例如典型LAMP网站架构。
1 集群基本概念
1.1 集群简介
集群技术可以在付出较低成本的情况下获得性能、可靠性、灵活性方面相对较高的收益,其任务调度则是集群系统中的核心技术。为什么要使用集群?低廉的设备组成计算机集群能做到大型机所做运算处理能力的事,即高性能;在达到同样性能需求条件下,采用计算机集群架构比采用同等运算能力的大型计算机具有更高的性价比,即价格有效性;当服务负载、压力增长时,针对集群系统进行较简单的扩展即可满足需求,即可伸缩性,还有高可用性、透明性、可管理性和可编程性特点。
1.2 负载均衡集群
负载均衡集群为企业提供了更为实用、性价比更高的系统架构解决方案。负载均衡集群运行时,一般是通过一个或多个前端负载均衡将客户访问的请求分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。负载均衡集群的作用包括:分担用户访问请求的数据流量;保持业务连续性,即7×24小时服务;应用于Web业务及数据库等服务器的业务,本文所使用的负载均衡集群典型的开源软件为Nginx。
1.3 高可用性集群
高可用性集群使服务器系统的运行速度和响应速度会尽可能更快。经常利用在多台机器上运行的冗余节点和服务不相互跟踪。如果某个节点失败,它的替补将在几秒钟或更短时间内接管它的职责。此过程并不影响整个集群的运行。高可用性集群的作用包括:当一台服务器宕机时,另外一台服务器接管宕机的机器的IP资源和服务资源,提供服务;用于不易实现负载均衡的应用,比如负载均衡器,主数据、主存储等,本文所使用高可用性集群常用的开源软件为Keepalived。
Keepalived是实现web网站及数据库服务易用的高可用软件解决方案。如图1所示:
2 企业级Nginx+keepalived高可用性集群
Nginx负载均衡位于整个网站架构的最前端或者中间层,如果为最前端时单台Nginx会存在单点故障,一台Nginx宕机,会影响用户对整个网站的访问。所以需要加入Nginx备份服务器,Nginx主服务器与备份服务器之间形成高可用,一旦发现Nginx主宕机,能快速将网站切换至备份服务器。主备模式始终存在一台服务器处于空闲状态,如何更好地把两台服务器利用起来呢?可以借助Nginx+keepalived双主构来实现,如图2所示,同时两台对外提供服务,拥有两个VIP地址,同时接收用户请求。
3 企业网站架构
企业网站架构主要由负载均衡服务、Web服务、数据库服务、存储服务、备份服务几部分组成实现,即负载均衡服务器、Web服务器、数据库服务器、应用服务器和管理服务器等几部分组成。
3.1 采用Nginx反向代理及负载均衡服务
企业网站访问量越大,对企业的Web服务器来说,要承担用户的并发访问性压力也越大,采用Nginx、keppalived作为前端高可用性负载均衡集群,能有效分配用户访问web服务器的压力,减轻整个系统负担,从而提高整个网站的性能,为用户提供不间断的网站运行服务。
3.2 LNMP Web服务
由LNMP Web服务器主要服务为Nginx静态服务,以及结合Nginx的PHP FastCGI解析动态PHP服务。同时把所有站点内用户上传的资源目录挂载到后端的NFS存储服务器的对应目录上或是直接存放到NFS共享服务器上。将数据库服务器上的数据,Web服务器上的访问日志,网站程序备份到rsync备份服务器上。
3.3 数据库服务器
典型的LNMP架构,MySQL非常适合承担后台数据库,然后数据库又通过keepalived高可用集群,实现MySQL主从同步复制可以实现数据库备份,保证网站数据的快速恢复,可以基于keepalived软件实现网站自动IP切换,发现MySQL宕机,会自动切換至从库上,从而保证网站高可用率。企业中实际常用的中小型规模网站集群逻辑架构图,如图3所示。
4 结束语
对于现有的企业网站或正要建设网站的企业来说,需要考虑开发成本,网站访问量,网站性能及运行稳定等因素。建议将网站部署成具有高可用负载均衡性能的集群网站,可使企业降低成本、提高网站整体性能、保障网站数据安全,确保7×24小时不宕机的重要考虑因素,随着高可用负载均衡技术的成熟,其应用也将越来越广泛。
参考文献:
[1]刘思尧.基于Linux平台的高可用集群管理系统的研究与实现[D].西北大学,2012.
[2]老男孩.跟老男孩学Linux运维Web集群实战[M].北京:机械工业出版社,2016.
[3]吴光科.曝光:Linux企业运维实战[M].北京:清华大学出版社,2018.
[4]百度百科[EB/OL].https://baike.ba
idu.com/item/集群技术/9774443.
[5]王波.Linux高可用负载均衡集群技术的研究与应用[J].电子商务,2013.