`
yangzb
  • 浏览: 3507326 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

高可用性、负载均衡的mysql集群解决方案

阅读更多

一、 mysql的市场占有率

二、 mysql为什么受到如此的欢迎

三、 mysql数据库系统的优缺点

四、 网络服务器的需求

五、 什么是mysql的集群

六、 什么是负载均衡

七、 mysql集群部署和实现方法

八、 负载均衡的配置和测试

九、 Mysql集群系统的测试(测试方案+测试脚本+测试结果分析)

mysql的市场占有率

MySQL是世界上最流行的开源数据库,已有1100多万的击活安装,每天超过五万的下

载。MySQL为全球开发者、DBA和IT管理者在可靠性、性能、易用性方面提供了选

择。

第三方市场调查机构Evans Data Corporation调查显示,过去两年内在开发者使用

的所有数据库中,MySQL已经拥有了25%的市场占有率。开源已经成为当今IT结构中

不可或缺的重要部分,而且开源的市场占有率将继续增加。如下图所示:



mysql为什么受到如此的欢迎

Sun公司今天1月份花了10亿美元将mysql收购,准备进军开源和数据库。

数据库系统

Oracle

SQL Server

MySQL

DB2

是否免费

收费

收费

免费

收费

存储过程

支持

支持

支持

支持

视图

支持

支持

支持

支持

快照

支持

支持

不支持

支持

触发器

支持

支持

支持

支持

安全

复杂查询

索引

丰富

一般

数据类型

事务处理

mysql数据库系统的优缺点

每个系统都有自身的不足和发展历程,mysql也一样。

优点

缺点

1.  源码公开,免费

2.  跨平台

3.  为多种开发语言和包提供了API

4.  支持多线程

5.  小巧、灵活、速度较快

6.  支持各种字符集

7.  提供各种连接、优化的工具包

1.  不完善,很多数据库特性不支持

2.  只适合中小型应用,对于大型应用,可以跟其他数据库互补;

3.  数据库系统数据量只能达到千万级别;

网络服务的需求

随着Internet的飞速发展和对我们生活的深入影响,越来越多的个人在互联网上购物、娱

乐、休闲、与人沟通、获取信息;越来越多的企业把他们与顾客和业务伙伴之间的联络

搬到互联网上,通过网络来完成交易,建立与客户之间的联系。互联网的用户数和网络

流量正以几何级数增长,这对网络服务的可伸缩性提出很高的要求。例如,比较热门的Web

站点会因为被访问次数急剧增长而不能及时处理用户的请求,导致用户进行长时间的等待

,大大降低了服务质量。另外,随着电子商务等关键性应用在网上运行,任何例外的服务

中断都将造成不可估量的损失,服务的高可用性也越来越重要。所以,对用硬件和软件方

法实现高可伸缩、高可用网络服务的需求不断增长,这种需求可以归结以下几点:

1)  可伸缩性(Scalability),当服务的负载增长时,系统能被扩展来满足需求,且不降

低服务质量。

2)  高可用性(Availability),尽管部分硬件和软件会发生故障,整个系统的服务必须是

每天24小时每星期7天可用的。

3)  可管理性(Manageability),整个系统可能在物理上很大,但应该容易管理。

4)  价格有效性(Cost-effectiveness),整个系统实现是经济的、易支付的。

单服务器显然不能处理不断增长的负载。这种服务器升级方法有下列不足:一是升级过

程繁琐,机器切换会使服务暂时中断,并造成原有计算资源的浪费;二是越往高端的服务

器,所花费的代价越大;三是一旦该服务器或应用软件失效,会导致整个服务的中断。

通过高性能网络或局域网互联的服务器集群正成为实现高可伸缩的、高可用网络服务的有

效结构。这种松耦合结构比紧耦合的多处理器系统具有更好的伸缩性和性能价格比,组成

集群的PC服务器或RISC服务器和标准网络设备因为大规模生产,价格低,具有很高的性能

价格比。但是,这里有很多挑战性的工作,如何在集群系统实现并行网络服务,它对外是

透明的,它具有良好的可伸缩性和可用性。

针对上述需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在

Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的服

务器集群,我们称之为Linux虚拟服务器(Linux Virtual Server)。在LVS集群中,使得

服务器集群的结构对客户是透明的,客户访问集群提供的网络服务就像访问一台高性能、

高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通

过在服务机群中透明地加入和删除一个节点来达到,通过检测节点或服务进程故障和正

确地重置系统达到高可用性。

什么是mysql集群

分为同步集群和异步集群。

同步集群(mysql cluster)

结构: (data + sql + mgm节点)

特点:

1)  内存级别的,对硬件要求较低,但是对内存要求较大。换算比例为:1:1.1;

2)  数据同时放在几台服务器上,冗余较好;

3)  速度一般;

4)  建表需要声明为engine=ndbcluster

5)  扩展性强;

6)  可以实现高可用性和负载均衡,实现对大型应用的支持;

7)  必须是特定的mysql版本,如:已经编译好的max版本;

8)  配置和管理方便,不会丢失数据;

异步集群(mysql replication)

结构: (master + slave)

特点:

1)  主从数据库异步数据;

2)  数据放在几台服务器上,冗余一般;

3)  速度较快;

4)  扩展性差;

5)  无法实现高可用性和负载均衡(只能在程序级别实现读写分离,减轻对主数据库的压力);

6)  配置和管理较差,可能会丢失数据;

什么是负载均衡

通过director,将用户的请求分发到real server服务器上,然后返回给用户。

负载均衡部署灵活、能够满足各种需求。

实现方式:

硬件:BIG/IP、Cisco、IBM(昂贵)

软件:LVS(免费)

LVS系统将用户的请求的数据包在数据层和网络层进行了封装和转发,由三种方式满足各种需求。

1)  DR:直接路由

2)  Tuning:tcp/ip隧道

3)  NAT:网络地址转换

需求:

免费的软件包

1)  2台低端的director(active和standby)

2)  心跳线:连接2台director,检测活动情况

3)  2台以上的real servers

通用结构:


有兴趣的可以分别研究上面的三种LVS结构。

mysql集群部署和实现方法

1)  假设现在有4台服务器(mysql官方推荐的最小配置)

服务器

开启的服务

角色

192.168.131.164

Ndb1

Mysqld

Mysql API

Ndb_mgmd

管理节点(master)

Heartbeat

Director(master)

192.168.131.26

Ndb2

Mysqld

Mysql API

Ndb_mgmd

管理节点(backup)

Heartbeat

Director(standby)

192.168.131.77

Sql1

Mysqld

Mysql API(realserver)

Ndbd

存储节点

Arptables

访问路由

192.168.131.101

font-size: 10.5p

分享到:
评论
1 楼 wqp310520 2013-07-29  

相关推荐

    高可用性、负载均衡的mysql集群解决方案.docx

    MySQL 高可用性、负载均衡解决方案 MySQL 是世界上最流行的开源数据库,已有1100多万的安装,每天超过五万的下载。MySQL 为全球开发者、DBA 和 IT 管理者在可靠性、性能、易用性方面提供了选择。第三方市场调查...

    搭建MySQL高可用+负载均衡集群(haproxy+keepalived).docx

    【MySQL高可用+负载均衡集群】的搭建方案通常涉及到多个组件,如haproxy和keepalived,旨在提升系统的稳定性和处理能力。MySQL在面对大量用户和数据增长时,单个实例可能会达到性能瓶颈,此时就需要引入高可用和负载...

    mysql集群解决方案

    MySQL集群解决方案旨在提高数据库系统的高可用性和负载均衡,以应对日益增长的网络服务需求。MySQL作为世界上最流行的开源数据库,因其开源、免费、跨平台、多语言支持和高效等特点而备受青睐。然而,MySQL在某些...

    Mysql数据库与SQL优化+集群+负载均衡.doc

    Galera Cluster 是一种高可用性和高性能的 MySQL 集群解决方案,通过多个节点组成的集群系统来实现数据同步和负载均衡。 MySQL Fabric 是 MySQL 官方提供的一款 MySQL 集群解决方案,通过 Fabric Node 和 Fabric ...

    MySQL-集群最佳解决方案

    MySQL集群最佳解决方案的知识点主要包括MySQL的高可用性解决方案、MySQL复制技术、MySQL集群技术和第三方合作伙伴提供的解决方案。下面将详细阐述这些知识点。 1. MySQL的高可用性解决方案 高可用性(High ...

    mysql负载均衡完美解决方案

    MySQL负载均衡是数据库系统...综上所述,该解决方案通过主从复制和读写分离实现了MySQL数据库的负载均衡,结合HAProxy的故障检测和自动切换功能,提供了高可用性和故障容错能力,确保了在各种异常情况下系统的稳定性。

    MySQL集群解决方案(主从复制、PXC集群、MyCat、HAProxy).docx

    MySQL集群解决方案是指在 MySQL 数据库中实现高可用性和高性能的解决方案。该解决方案主要涉及到主从复制、PXC 集群、MyCat 和 HAProxy 等技术。 主从复制 主从复制是 MySQL 集群解决方案中的一种常见架构模式。该...

    负载均衡、集群、高可用解决方案.docx

    该文档主要介绍了如何构建一套基于负载均衡、集群和高可用性的解决方案,旨在满足企业的实际需求。整个解决方案包含了多个层面的设计与实现,包括但不限于Web层的配置、数据库管理、监控系统的搭建以及自动化运维...

    MySQL数据库集群+负载均衡(LVS)

    **MySQL数据库集群+负载均衡(LVS)** 这个主题涵盖了构建一个高可用性、高性能的MySQL集群,并通过负载均衡技术来实现对集群中多个MySQL实例请求的智能分发。这种架构能够显著提高系统的稳定性和响应速度,适用于大...

    Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群

    Percona-xtraDB-Cluster(PXC)是一个高可用性的数据库集群解决方案,能够实现强同步和读写分离。在这个高可用集群中,PXC被用于实现读写用户表和订单测试表的强同步。 Zookeeper的应用 Zookeeper是一个开源的...

    具有负载均衡功能的MySQL服务器集群部署及实现

    总的来说,部署具有负载均衡功能的MySQL服务器集群是一项复杂但至关重要的任务,它能够显著提升系统的可用性和性能,降低单一故障点的风险。在实际操作中,应根据具体的业务需求和硬件资源来调整集群架构,确保最佳...

    第53节--MyCat高可用负载均衡集群实现(HAProxy+Keepalived+MyCat

    HAProxy 是一款高性能、高可用的负载均衡器,它可以对网络流量进行分配,确保服务的稳定性和高可用性。在数据库集群中,HAProxy 可以根据预设的策略(如轮询、最少连接数等)将请求分发到不同的MyCat节点,从而实现...

    mysql集群方案对比

    MySQL集群是一种用于提高数据库服务可用性和性能的技术,它通过...通过深入理解这些技术,您可以为您的企业找到最适合的MySQL集群解决方案。配合提供的图片和Excel文件,您可以更直观地了解这些方案的工作原理和细节。

    mysql集群的一种方案

    MySQL集群是一种分布式数据库解决方案,...综上所述,MySQL集群是一种有效的数据库解决方案,尤其适合需要高可用性和可扩展性的应用场景。然而,实施前应充分评估业务需求和技术挑战,以确保选择最适合的数据库架构。

Global site tag (gtag.js) - Google Analytics