网络安全 频道

梭子鱼负载均衡机在MSQL服务器中的应用

  客户背景

  XXXX作为推动中国信息化进程的、著名的"三大上网工程"(即"政府上网工程"、"企业上网工程"、"家庭上网工程")的策划、实施、运营和支撑单位,一直致力于中国行业信息化的应用开发、推广和服务工作,拥有丰富的应用资源和多年开展电子政务、电子业务等增值服务运营经验,得到各级政府、行业部门和电信运营商的广泛认可。XXX在深入推广电子政务便民服务中,与全国公民身份号码查询服务中心、中国移动、中国联通、中国电信、中国网通等单位合作,基于电信公网(固定和移动),依托拥有13亿人口数据的"全国公民身份信息系统",建立了安全、先进、开放的综合电子业务管理服务平台,面向全社会推出全新的电子身份信息服务(,包括身份信息核查、电子身份标识、防欺诈等诚信信息服务。但是,和快速增长的业务相比,XXX的IT支撑系统的高可用性还相对滞后,其IT系统重构规划时还确认用户数据库有单点故障(SPOF)。为此,XXXX采用了博威特公司提供的数据库服务器负载均衡解决方案,不仅使数据库可用性达到99.9%,而且还实现了在线拓展、高安全和高可管理性,从而解决了XXXX的用户数据库服务请求的压力,为其进一步的持续高速发展铺平了道路;该方案也为电子政务以及其他公共服务行业类的数据库服务器负载均衡,提供了一个不可多得的成功样板。

  XXXX的Web Server是Linux+Apache+Php的多台机器上组成的集群,MySQL运行在SUN4800,4G内存的平台上。由于WEB的访问量在高峰的时候几乎满负荷运转,大量的请求都在访问数据库的时候被挂住了,导致一个请求没有完成,下一个请求又进来,最后恶性循环。数据库LoadAvg会在瞬间飙升至1000多,数据库的线程非常多,CPU忙于切换线程状态,这个时候除非Restart MySQL,否则怎么都不会好。在对SQL语句优化完成后还是不能很好的解决问题。在增加两台数据库服务器,通过MySQL的数据同步机制,让两台数据库上的数据保持同步,修改了一部分只会发生读取操作的php程序,让这些程序连接另外一台数据库,算是把负载分离出去一部分,问题得到了初步的解决。但是近期由于业务做大,XXXX又增加了多台服务器,本来想通过修改程序的方式实现将系统的负载分离,但是工程浩大,而且不能弄错,因为除了主服务器可以写入、修改数据,而其它的服务器只能通过数据同步更新自身的数据,所以如果你对那些数据库进行了写操作,结果将是灾难性的。

  要保证数据库服务的响应能力和效率,稳定性和安全性,XXXX必须采用数据库服务器的负载均衡解决方案

  但是,由于系统比较大,出于投资保护等考虑,XXXX 对数据库服务器的负载均衡解决方案的需求有如下几个特点:不改变XXXX的数据库体系结构;可用性目标达到99.9%;需承载XXXX每年50%的高成长;简单管理等等。这意味着在不对系统大动干戈的同时,却革命性地提高其性能,其挑战不言而喻。

  解决方案

  针对XXXX数据库服务器负载均衡的需求特点,XXXX考虑了三种主要解决方案。1) 将数据库垂直分割,划分成多层数据库处理,减轻原来单层数据库处理数据而形成的瓶颈与可用性问题。但问题:这种方案很难部署,而且也没有从根本上解决单点故障问题。2)采用一种类似HTTP的PROXY的方式的解决方案。问题:要求分析数据库编程代码,非常难以管理与维护。3)采用梭子鱼负载均衡器解决方案,在数据库服务器前边单独部署梭子鱼负载均衡器,分配数据库服务器的读写流量。其优点是:简单管理,不需要改变整个体系结构。

  这样,数据库服务器群被梭子鱼负载均衡器虚拟化和集群,可以根据需要,选择更高效率得数据库服务器,从而使数据库访问的操作压力得到解决。同时,随着业务的增长,还可以随时根据客户业务的压力在线扩展新的服务器在这个群之中。由于根据以上分析,数据库操作和webserver访问的比例超过20倍,采用这样的方法,有效解决了数据库性能和高可用性要求。

  

解决方案拓扑图

        方案特点

  梭子鱼解决方案具有以下特点:1.运用分离webserver和数据库操作,使webserver和数据库操作进入分别的逻辑数据库 而不是共享磁盘2.梭子鱼 数据库服务器均衡可以使所有的读写操作优化分配到各数据库服务器 ; 3.应用类似类似HTTP的PROXY的方式的解决方案,但是却相对简单的梭子鱼的解决方案; 4.发挥梭子鱼产品灵敏的量测性和显著的增强可用性。

  采用梭子鱼负载均衡器后,对于XXXXX应用系统有独到的优势:

  高可用性: 梭子鱼动态分配每一个流量请求到后台的多台MYVSQL 数据库服务器,并动态检查各个服务器的健康状态,将下一个请求分配给最有效率的服务器,任何服务起死机时,即刻将流量请求分配给其他的三台服务器,从而达到99.%系统有效性。针对mysql数据库服务器梭子鱼负载均衡设备采用的iCMP / TCP 进行健康检查。

  高安全性:梭子鱼负载均衡本身提供相应的安全策略或者安全机制,比如IDS,IPS;

  高效率: 采用梭子鱼 负载均衡之后, 可以智能寻找非常好的状态的数据库服务器从而保证客户得到响应最快的数据库服务器以提供非常好的的查询数据库服务!

  高可扩展性:梭子鱼可以支持动态增加或删除其负载均衡的数据库服务器群组的任何数量的服务器,而不需要对前端或后台做任何改变从而使得系统扩展轻松方便,透明。

  高可管理性:梭子鱼有专门的管理接口。可以实时监控整个数据库服务器群组的流量状态,并分析发展趋势帮助客户及时根据流量增长增加服务器。

  SSL加速:具有SSL卸载和SSL加速功能。

  客户价值

  梭子鱼提供的XXXX数据库服务器负载均衡解决方案对行业也具有相当的借鉴意义。电子政务应用同样有着数据库查询的压力,如果能够有效将查询的压力分解到单独的服务器群来处理,将有效提高电子政务的应用效率。 对于电子政务商务类应用系统数据库扩展解决方案,只需要在Web Portal上将数据库请求分成两个不同模块,问题便迎刃而解。

  对于公众服务行业类的数据库服务器的负载均衡,如银行,电信,税务等系统,每月和每季度的都会有报表生成汇总,这些报表既包括用户的月结单数据信息,也需要产生总体业务的业绩报告。这样就必须对数据库系统进行检索和查询。如果这些业务工作与实际生产环境是一个数据库的情况下,将造成系统的巨大压力。采用梭子鱼类似方法,同样能够有效达到高可用性预告可扩展性能的需要!

0
相关文章