浅谈MySQL高可用集群架构
来源:互联网 发布:论坛源码hybss 编辑:程序博客网 时间:2024/05/29 14:35
在前面了解了浅谈MySQL高可用复制架构以后,认识到通过简单配置步骤,就能构建出强大的数据库架构,但从复制架构可以看出无论是主备切换,还是主从换位等操作,或多或少都需要一些“短暂的维护”和人工参与,因此若要想达到4个9或者5个9的高可用,光用复制架构还远远不够。
除了复制架构以外,MySQL还有一个同样令人瞩目的高可用架构-集群架构。
基本概念
MySQL集群是一个无共享的、分布式节点架构的高实用、高冗余存储方案,它采用了NDB Cluster
MySQL集群最初将所有的数据都保存在内存中,没有任何永久性存储,后来逐步允许将数据存储在磁盘上。通过存储引擎层将MySQL服务器作为查询引擎,可以使MySQL集群的性能达到最佳。这样,就可以把应用透明的从MySQL迁移到MySQL集群中去。
核心架构
MySQL集群架构主要由三类组件构成:
ü
ü
ü
1)
由一组MySQL服务器组成,有时也称为SQL节点,即mysqld服务。可以提供服务接口服务(SQL、LDAP、Web服务等),支持一个或多个查询检索应用,然后将数据从存储节点返回。MySQL应用服务节点服务器支持水平扩展,提供负载均衡的能力。
2)MySQL数据存储节点
将数据存储于无共享架构中,支持服务器水平扩展,一个数据节点损坏了,其他的数据节点都拥有相同的拷贝,仍然可以对外提供服务,而这对于外部应用来说是透明的,外部应用完全察觉不到MySQL集群中有某个节点的故障。MySQL数据存储节点提供的主要功能:
l
l
l
l
3)MySQL NDB Management 管理节点
MySQL集群的心脏,负责管理集群,并使配置信息对于其他的节点都可用。管理节点用于启动集群,或是在系统经过重新配置的情况下,管理节点可以轻易的启停集群,而不影响数据存储节点和应用服务节点的运行。默认情况下,管理节点还提供仲裁服务。通常只需配置一个管理节点;然而为了排除单点故障需要,有可能的话,尽量增加管理节点的数量。管理节点只在集群启动和发生配置变化的时候起作用,集群启动以后,不论管理节点处于什么状态,整个集群都将保持其在线和可用状态。
上图摘取于MySQL官网,示意了最少的MySQL集群冗余拓扑。分别由两个管理节点、两个数据节点和两个应用服务(SQL)节点构成
小结
MySQL集群的强大之处在于将表分区,然后将它们有序组织分布到独立的节点上去,并且所有节点都支持水平扩展。MySQL集群的并行架构与多主数据库相当,这样系统就可以并发地执行大量的读写操作,所有的更新对所有存储在数据节点的应用程序节点(通过SQL命令或NDB API)都立即可用。
小试牛刀
推荐一篇博文动手练习
MySql集群搭建笔记http://han-zw.iteye.com/blog/1662941
- 浅谈MySQL高可用集群架构
- 浅谈MySQL集群高可用架构
- mysql主从集群高可用架构-----MHA
- 高可用集群架构DRBD+HEARTBEAT+MYSQL
- 浅谈MySQL高可用复制架构
- Mysql高可用集群
- 高可用、可扩展mysql数据库分布式集群架构
- mysql高可用集群——MHA架构
- 集群高可用架构整理
- 高可用集群架构maxscale
- MySQL高可用架构
- MySQL MHA 高可用架构
- MySQL 高可用架构实战
- Mysql高可用架构设计
- MySQL高可用架构 --- MHA
- MySQL高可用架构之MHA(可用)
- MongoDB高可用架构 集群权限控制
- 架构高可用mongodb 集群文档
- 领域模型驱动开发利器-Sculptor介绍
- 正确认识分布式异构环境下的异步服务和应用场景设计
- nginx
- 将“懒人”哲学运用于大规模的商业SOA应用开发
- 浅谈MySQL高可用复制架构
- 浅谈MySQL高可用集群架构
- sql日期格式化转换
- 浅谈MySQL Sharding分片技术
- WebLogic集群启动常见问题(持续更新)
- 初试开源PaaS平台--GigaSpaces Cloudify
- 企业架构设计思路与实践经验谈
- 基于mini2440的Linux音频驱动完全解读(二)——ASoc层的初始化(1)
- 数据库常用SQL
- 程序员技术练级攻略