背景数据库位于现代企业应用的核心,它储存了组织机构中最有价值的资产,包括客户信息、产品信息、订单信息和历史数据等。另外,组织机构依赖于数据库来运行他们关键业务应用。几小时甚至是几分钟的宕机,往往会造成收入的大量流失和客户的不满。因此,保证数据库高可用,可靠性和安全性是所有组织机构优先考虑的事情。对于希望在当今瞬息万变的经济环境立于不败之地并取得成功的企业来说,构建一个具有高可用性的IT基础架构至关重要。具体需求:1) 可伸缩性(Scalability),当服务的负载增长时,系统能被扩展来满足需求,且不降低服务质量。2) 高可用性(Availability),尽管部分硬件和软件会发生故障,整个系统的服务必须是每天24小时每星期7天可用的。3) 可管理性(Manageability),整个系统可能在物理上很大,但应该容易管理。4) 价格有效性(Cost-effectiveness),整个系统实现是经济的、易支付的。现状单服务器显然不能处理不断增长的负载。这种服务器升级方法有下列不足:一,是升级过程繁琐,机器切换会使服务暂时中断,并造成原有计算资源的浪费;二,是越往高端的服务器,所花费的代价越大;三,是一旦该服务器或应用软件失效,会导致整个服务的中断。通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的、高可用网络服务的有效结构。这种松耦合结构比紧耦合的多处理器系统具有更好的伸缩性和性能价格比,组成集群的PC服务器或RISC服务器和标准网络设备因为大规模生产,价格低,具有很高的性能价格比。但是,这里有很多挑战性的工作,如何在集群系统实现并行网络服务,它对外是透明的,它具有良好的可伸缩性和可用性。针对上述需求,基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的服务器集群,称之为Linux虚拟服务器(Linux Virtual Server)。在LVS集群中,使得服务器集群的结构对客户是透明的,客户访问集群提供的网络服务就像访问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正确地重置系统达到高可用性。实现目标通过技术手段实现MySQL数据库的高可用性,从而减少停工时间保证服务的正常稳定运行。 目前,淘宝,京东,当当网等电商和大型电信企业的一些重点服务全部采用MYSQL集群来实现,那种靠少而精的硬件来提供服务的方式逐渐被数量多,配置低的集群所代替。方案建设概要现有高可用方案分析:MySQL作为一款开源软件经过多年的发展,已经形成很多套实现高可用方案,并且均都投入生产使用,主要为这几种:MySQL+replication、MySQL+heartbeat+共享存储、MySQL+drbd+heartbeat、MySQLcluster。以下将依次对各个方案进行分析。MySQL+replication概述MySQL的复制(Replication)是一个异步的复制,从一个MySQLinstace(称之为Master)复制到另一个MySQLinstance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一
MySQL集群 来自淘豆网m.daumloan.com转载请标明出处.