万勇泉,庞迎春,王江立,陈宇达,李 莉
WAN Yong-Quan,PANG Ying-Chun,WANG Jiang-Li,CHEN Yu-Da,LI-Li
(中国地质调查局武汉地质调查中心,武汉430205)
(Wuhan Center of China Geological Survey,Wuhan 430205)
全国地质资料目录服务中心异地负载均衡试验
万勇泉,庞迎春,王江立,陈宇达,李 莉
WAN Yong-Quan,PANG Ying-Chun,WANG Jiang-Li,CHEN Yu-Da,LI-Li
(中国地质调查局武汉地质调查中心,武汉430205)
(Wuhan Center of China Geological Survey,Wuhan 430205)
目前全国地质资料目录服务中心系统处于单点运行,数据安全级别较低;利用现有的软硬件资源,通过部署智能DNS、反向代理服务器、Windows的DFS分布式文件系统、MySQL数据备份等,构建试验环境,实现数据的异地分布、负载均衡、备份和高可用。
资料目录;负载均衡;容灾备份
Kay words:The data directory;load balancing;disaster backup
全国地质资料目录服务中心集成国家、省(区、市)、大区、行业馆藏成果、原始和实物地质资料目录信息,实现目录数据动态更新维护,以集中与分布结合的服务方式向社会动态发布地质资料目录信息。全国地质资料目录服务中心系统是以开源的MySQL、Apache等开发完成的一套目录数据采集、管理与服务的网络应用系统[1-2]。
虽然各级单位与机构的地质资料目录数据是分布式运行与存储,但全国集中管理的目录数据中心是处于单点运行的,没有数据异地容灾备份方案与措施,也没有异地的负载均衡方案,应对突发事件的能力比较低,无法抵制战争与灾难的突袭,对数据安全性带来隐患。
在充分利用现有的网络环境和存储设备,搭建地质资料目录数据服务负载均衡的试验环境,为全国地质资料目录服务中心提供数据保护与负载均衡,增强应对突发事件的能力,增加抵制战争与灾难突袭的能力,消除数据安全隐患,提升系统服务能力。
2.1 试验系统构建原则
基于需求多样性、技术复杂性和产品异构性的特点,走开放的、“海纳百川”的技术路线,使用好现有成熟可靠的技术和产品。综合技术、成本、融合、发展四个方面,合理、充分利用设备,坚持设备共享的原则,提高设备利用率。遵遁以下原则:
A.先进性和成熟性。以开放的标准为基础,杜绝新产品或新技术的堆砌,采用国际上成熟的、先进的具有多厂商广泛支持的软硬件技术,保证可行性、可操作性以及整体架构必要的生命周期。
B.可靠性和安全性。采用高稳定和高可靠的软硬件,保障24小时不间断运行,建立包括环境、技术、管理三方面的安全体系,为数据和应用提供最大限度的保护,在正常情况下保障数据复制的一致和完整以及应用的同步,确保灾难发生时能够及时有效地实现切换。
C.性能价格。虽然软硬件性能与价格成正比关系,但同样性能的产品也存在较大价格差异,通过选用具有高性价比的设备和软件,兼顾性能和成本两方面的因素。
D.易于扩展与维护。选择基于开放式架构、模块化设计的软硬件产品,保障系统间的完全兼容,关键设备提供适当冗余,保证横向与纵向扩展的便利。产品具有完善的自身管理功能,具备状态监控、故障分析、自动告警、在线恢复等功能,从而降低维护复杂度和维护成本。
2.2 突破南北互通瓶颈
中国的网络特点比较特殊,最为突出的是电信与联通的互通问题上,主要表现为用户访问对方网络的内容时速度缓慢问题,这样一来,对于网站在全国范围内的推广非常不利。
那么智能DNS策略解析就很好的解决了上面所述的问题[3]。DNS策略解析最基本的功能是可以智能的判断访问网站的用户,然后根据不同的访问者把域名分别解析成不同的IP地址。如果访问者是联通用户,DNS策略解析服务器会把域名对应的联通IP地址解析给这个访问者。如果用户是电信用户,DNS策略解析服务器会把域名对应的电信IP地址解析给这个访问者。智能DNS策略解析还可以给多个主机实现负载均衡,这时来自各地的访问流量会比较平均的分布到每一个主机上。
本次试验环境采用的是wddns智能DNS系统,wddns是一套可通过web在线管理的免费智能DNS系统,基于Bind+MySQL构建开发,安装方便,快速,可在最短时间内架构一套DNS/智能DNS系统.目前支持电信/网通/教肓网/移动/铁通/广电/按省份解析 (31个省市)/搜索引擎蜘蛛等多线路,具有强大的监控功能,服务器健康检测,即宕机检测和切换,DNS服务器健康监控,宕机切换,防攻击检测,可选自动屏蔽攻击者IP,易扩展DNS服务器,数据自动同步等。
试验方案如图1所示,联通用户的访问者在访问目录中心时,智能DNS策略解析服务器就会把位于联通网络的目录中心服务器(中国地质调查局武汉地质调查中心,武汉)对应的IP地址解析给这个访问者,实现联通用户直接访问位于联通网络的目录中心。电信用户的访问者在访问目录中心时,智能DNS策略解析服务器就会把位于电信网络的目录中心服务器(中国地质调查局发展研究中心,北京)对应的IP地址解析给这个访问者,实现电信用户直接访问位于电信网络的目录中心,这样就跨越了不用运营商之间的互通瓶颈,实现高速访问。
2.3 服务网站负载均衡
Web服务器面对的访问者数量快速增加,网络服务器需要具备提供大量并发访问服务的能力,因此对于提供大负载Web服务的服务器来讲,CPU、I/O处理能力很快会成为瓶颈。简单的提高硬件性能并不能真正解决这个问题,因为单台服务器的性能总是有限的,一般来讲,一台PC服务器所能提供的并发访问处理能力大约为1000个,更为高档的专用服务器能够支持3000-5000个并发访问,这样的能力还是无法满足负载较大的网站的要求。尤其是网络请求具有突发性,当某些重大事件发生时,网络访问就会急剧上升,从而造成网络瓶颈,必须采用多台服务器提供网络服务,并将网络请求分配给这些服务器分担,才能提供处理大量并发服务的能力[4]。
图1 基于智能DNS的目录中心负载均衡方案Fig.1 Catalogue Center load balancing scheme based on intelligent DNS
当使用多台服务器来分担负载的时候,最简单的办法是将不同的服务器用在不同的方面,也就是按提供的内容进行分割,然而由于网络访问的突发性,使得很难确定那些页面造成的负载太大,如果将服务的页面分割的过细就会造成硬件资源很大浪费。事实上造成负载过大的页面常常是在变化中的,如果要经常按照负载变化来调整页面所在的服务器,那么势必对管理和维护造成极大的负担。因此这种分割方法只能是大方向的调整,对于大负载的网站,根本的解决办法还需要应用负载均衡技术[4]。
负载均衡的多台服务器为对称方式部署,每台服务器都具备等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。然后通过某种负载分担技术,将外部发送来的请求合理地分配到对称结构中的某一台服务器上,而接收到请求的服务器都独立回应客户机的请求。
使用代理服务器可将请求合理地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以实现较好的负载均衡策略,将负载可以非常均衡的分给内部服务器,不会出现负载集中到某个服务器的偶然现象。
试验方案如图2所示,网络用户访问目录中心的请求,首先根据前一节的智能DNS解析结果被发送到了位于北京或武汉的负载均衡反向代理服务器,负载均衡器再将用户访问请求合理地分配到位于北京或武汉的目录中心服务网站服务器,然后该网站服务器独立地为用户提供服务。
位于北京和武汉的目录中心服务网站内容采用Windows的DFS分布式文件系统部署,实现网站配置文件和静态页面的同步更新。
2.4 数据库异地备份
全国地质资料目录服务中心系统采用的是MySQL数据库,试验系统采用Replication方式实现MySQL数据库的异地分布、负载均衡、备份和高可用。复制分成以下三步:
A.当数据发生变化时,Master将数据改变记录到二进制日志(Binary log)中,这些记录叫做二进制日志事件(Binary log events);
B.Slave将Master的Binary log events复制到中继日志(relay log);
C.Slave重做中继日志中的事件,改变自己的数据。
图2 目录中心网站服务负载均衡方案Fig.2 The directory service center website load balancing scheme
图3描述了这一过程:
该过程的第一部分就是Master记录二进制日志。在每个事务更新数据完成之前,Master在二日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,Master通知存储引擎提交事务。
下一步就是Slave将Master的Binary log拷贝到中继日志。首先,Slave开始一个工作线程——I/O线程。I/O线程在Master上打开一个普通的连接,然后开始Binlog dump process。Binlog dump process从Master的二进制日志中读取事件,如果已经跟上Master,它会睡眠并等待Master产生新的事件。I/O线程将这些事件写入中继日志。
SQL Slave thread处理该过程的最后一步。SQL线程从中继日志读取事件,更新Slave的数据,使其与Master中的数据一致。
在北京建立目录中心MySQL Master主数据库,在武汉建立目录中心MySQL Slave从数据库,主从MySQL数据库管理器通过北京到武汉的10 M数字电路专线相连,采用Replication方式实现MySQL主从数据库的异地分布、负载均衡、备份和高可用,方案如下图所示。
图3 Replication方式实现MySQL数据库异地备份流程示意图Fig.3 The realization of Replication MySQL database backup process schematic diagram
图4 目录中心数据库异地异步备份与负载均衡方案Fig.4 Catalog Center database asynchronous remote backup and load balancing scheme
本试验首先通过部署智能DNS解决了南北互通问题,再通过部署反向代理实现访问请求在多个Web服务网站服务器上的合理分配,利用Windows的DFS分布式文件系统实现网站配置文件和静态页面的同步更新,采用MySQL数据库自身的Replication功能和北京-武汉已有的10M数字电路专线实现了后台数据库的异地分布、负载均衡、备份和高可用。
经测试,系统整体运行状态良好,实现了全国地质资料目录数据的异地容灾备份,实现了目录服务中心的负载均衡,达到了试验目的。
[1]MySQL:The world’s most popular open source database[OL]. http://www.mysql.com.
[2]The Apache Software Foundation[OL].http://www.apache.org.
[3]wddns智能DNS系统,免费智能DNS系统,自架智能DNS系统,智能DNS软件[OL].http://www.wdlinux.cn/wddns.
[4]如何利用负载均衡建设高负载网络站点[OL].http://server. zdnet.com.cn/server/2008/1120/1243347.shtml.
Wan Y Q,Pang Y C Wang J L,Chen Y D and Li L.Remote load balancing test for the national geological data catalog service.,2014,30(4):405-409.
At present,the center of national geological data directory service system is in single point operation, data security level is low.We use the current software and hardware resources,through the deployment of intelligent DNS,the reverse proxy server,Windows DFS distributed file system,MySQL data backup,etc.,construct the test environment,realize the data remote distribution,load balancing,backup and high availability.
TP399
A
1007-3701(2014)04-405-05
10.3969/j.issn.1007-3701.2014.04.013
2014-05-09;
2014-05-29.
中国地质调查大区地质资料信息服务集群化示范项目资助(12120113025600).
万勇泉(1965—),男,教授级高级工程师,从事地质资料管理与开发工作,E-mail:wyongquan@cgs.cn