没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
高可用性、负载均衡的 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)
结构:
(d ata
+ sql + mgm 节点)
特点:
1)
内存级别的,对硬件要求较低,但是对内存要求较大。换算比例为:1:1.1;
2)
数据同时放在几台服务器上,冗余较好;
3)
速度一般;
4)
建表需要声明为 engine=ndbcluster
5)
扩展性强;
6)
可以实现高可用性和负载均衡,实现对大型应用的支持;
7)
必须是特定的 mysql 版本,如:已经编译好的 max 版本;
8)
配置和管理方便,不会丢失数据;
异步集群(mysql replication)
结构:
(m aster
+ 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 结构。
剩余43页未读,继续阅读
资源评论
小小哭包
- 粉丝: 1900
- 资源: 3864
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功