`
lsy
  • 浏览: 123027 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

浅谈MySQL高可用集群架构

阅读更多

在前面了解了浅谈MySQL高可用复制架构以后,认识到通过简单配置步骤,就能构建出强大的数据库架构,但从复制架构可以看出无论是主备切换,还是主从换位等操作,或多或少都需要一些“短暂的维护”和人工参与,因此若要想达到49或者59的高可用,光用复制架构还远远不够。

除了复制架构以外,MySQL还有一个同样令人瞩目的高可用架构-集群架构。

基本概念

MySQL集群是一个无共享的、分布式节点架构的高实用、高冗余存储方案,它采用了NDB Cluster 存储引擎,其目的是提供容错性和高性能。数据在单个数据节点上进行存储和复制,每个数据节点运行在独立的服务器上,并维护数据的一份拷贝。数据更新使用Read-Committed Isolation来保证所有节点数据的一致性,使用两阶段提交保证所有节点的状态一致。无共享的对等节点使得某台服务器上的更新操作在其他服务器上立即可见。

MySQL集群最初将所有的数据都保存在内存中,没有任何永久性存储,后来逐步允许将数据存储在磁盘上。通过存储引擎层将MySQL服务器作为查询引擎,可以使MySQL集群的性能达到最佳。这样,就可以把应用透明的从MySQL迁移到MySQL集群中去。

核心架构

MySQL集群架构主要由三类组件构成:

ü  MySQL应用服务节点

ü  MySQL Network Database 数据存储节点

ü  MySQL NDB Management 管理节点

1)  MySQL应用服务节点

由一组MySQL服务器组成,有时也称为SQL节点,即mysqld服务。可以提供服务接口服务(SQLLDAPWeb服务等),支持一个或多个查询检索应用,然后将数据从存储节点返回。MySQL应用服务节点服务器支持水平扩展,提供负载均衡的能力。

2MySQL数据存储节点

将数据存储于无共享架构中,支持服务器水平扩展,一个数据节点损坏了,其他的数据节点都拥有相同的拷贝,仍然可以对外提供服务,而这对于外部应用来说是透明的,外部应用完全察觉不到MySQL集群中有某个节点的故障。MySQL数据存储节点提供的主要功能:

l  存储和管理内存数据或磁盘数据

l  自动或用户自定义分区管理数据

l  在数据节点彼此之间进行同步复制

l  事务处理和数据检索

3MySQL NDB Management 管理节点

MySQL集群的心脏,负责管理集群,并使配置信息对于其他的节点都可用。管理节点用于启动集群,或是在系统经过重新配置的情况下,管理节点可以轻易的启停集群,而不影响数据存储节点和应用服务节点的运行。默认情况下,管理节点还提供仲裁服务。通常只需配置一个管理节点;然而为了排除单点故障需要,有可能的话,尽量增加管理节点的数量。管理节点只在集群启动和发生配置变化的时候起作用,集群启动以后,不论管理节点处于什么状态, 整个集群都将保持其在线和可用状态。



上图摘取于MySQL官网,示意了最少的MySQL集群冗余拓扑。分别由两个管理节点、两个数据节点和两个应用服务(SQL)节点构成

小结

MySQL集群的强大之处在于将表分区,然后将它们有序组织分布到独立的节点上去,并且所有节点都支持水平扩展。MySQL集群的并行架构与多主数据库相当,这样系统就可以并发地执行大量的读写操作,所有的更新对所有存储在数据节点的应用程序节点(通过SQL命令或NDB API)都立即可用。

小试牛刀

推荐一篇博文动手练习

MySql集群搭建笔记 http://han-zw.iteye.com/blog/1662941

分享到:
评论

相关推荐

    Mysql高可用集群架构

    数据库位于现代企业应用的核心,它储存了组织机构中最有价值的资产,包括客户信息、产品信息、...对于希望在当今瞬息万变的经济环境立于不败之地并取得成功的企业来说,构建一个具有高可用性的 IT 基础架构至关重要。

    Mysql MHA高可用集群架构1

    Mysql MHA高可用集群架构1 MHA(Master High Availability)是一种相对成熟的高可用解决方案,主要应用于 MySQL 高可用环境下故障切换和主从提升。MHA 由两部分组成:MHA Manager(管理节点)和 MHA Node(数据节点...

    mysql高可用集群所需软件包

    这是搭建mysql高可用集群所需的软件包,包含MHA 管理节点的主配置文件和VIP地址切换perl脚本

    MySQL高可用架构演进

    MySQL Operator是用于自动化MySQL在Kubernetes集群上的管理和操作的工具,它可以自动处理MySQL的部署、扩展、备份和恢复等任务,极大地简化了高可用架构的搭建和维护。 此外,MySQL还引入了半同步复制(Semi-...

    mysql高可用集群部署项目1

    MySQL 高可用集群部署项目 MySQL 高可用集群部署项目是指通过部署多个 MySQL 实例,实现高可用性和读写分离,以提高数据库的可用性和性能。该项目主要涉及到 MySQL 的主从同步、MaxScale 读写分离和 Keepalived+DR...

    MySQL性能优化和高可用架构实践.pptx

    本书深入浅出地讲解了MySQL性能优化的核心原理,包括索引设计、查询优化、缓存策略、高可用架构等方面的知识。同时,结合案例对这些原理进行了生动形象的阐述,方便读者理解和实践。 实践过程 本书详细描述了优化...

    mysql高可用架构

    ### MySQL高可用架构详解 #### 一、概述 在互联网公司的发展过程中,随着用户量的增长和技术需求的变化,数据库架构的设计尤为重要。本文将详细介绍一种利用Heartbeat、DRBD以及MySQL构建的高可用架构方案,旨在...

    kubernetes部署mysql高可用

    kubernetes部署mysql高可用 ,本资源为kubernetes集群部署mysql高可用读写分离数据库,内含所有需要的yaml文件,有需要的可进行下载

    MySQL高可用解决方案_社区 .pdf

    InnoDB Cluster是MySQL官方提供的高可用性解决方案,它将MySQL Group Replication与MySQL Shell结合在一起,为用户提供了易于管理和配置的高可用集群环境。InnoDB Cluster能够自动处理节点的加入和离开,以及故障...

    MySQL高可用集群部署

    MySQL高可用集群部署课件

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

    本文将详细介绍如何使用Mysql、Haproxy、Mycat、PXC、Zookeeper实现高可用集群,涵盖了整个架构图、应用程序的访问流程、数据的读写分离、负载均衡、数据库节点的搭建、Zookeeper的应用等多个方面。 整体架构图 在...

    数据架构设计与实践MySQL在高可用演进之路V2.pdf

    【数据架构设计与实践:MySQL在高可用演进之路】主要探讨了如何通过不同技术手段提升MySQL数据库的高可用性,确保系统持续稳定地提供服务。高可用性(High Availability,HA)是衡量系统无中断运行能力的标准,通常...

    mysql高可用集群方案中文

    - **MySQL专业服务**:提供定制化的咨询、设计和实施服务,帮助优化MySQL的高可用架构。 - **MySQL认证合作伙伴**:这些合作伙伴提供经过认证的产品和服务,帮助企业构建稳定的MySQL高可用环境。 - **MySQL培训**:...

    基于Zookeeper+MHA的mysql高可用架构设计

    基于Zookeeper+MHA的mysql高可用架构设计,基于Zookeeper+MHA的mysql高可用架构设计。

    【27】基于MyCat的MySQL高可用读写分离集群实战课程下载【No215】基于MyCat的MySQL高可用读写分离集群实战课程下载 .txt

    ### 基于MyCat的MySQL高可用读写分离集群实战知识点详解 #### 一、MyCat简介 MyCat作为一款开源的数据库中间件,它能够实现对后端多个MySQL数据库进行分片处理,为前端应用提供统一的访问接口。在实际应用中,...

    MySQL高可用负载均衡集群部署

    MySQL 高可用负载均衡集群部署 MySQL 高可用负载均衡集群部署是指在 MySQL 数据库中实现高可用性和负载均衡,以提高数据库的性能和可靠性。在本文中,我们将介绍如何使用 haproxy 和 keepalived 实现 MySQL 高可用...

    搭建MySQL高可用负载均衡集群.docx

    搭建MySQL高可用负载均衡集群是确保数据库服务稳定性和性能的关键步骤。随着用户量和数据量的不断增长,单个MySQL实例可能无法满足高并发和大数据处理的需求,这时就需要采用一些策略来扩展数据库服务,比如主主复制...

    Mysql高可用架构集群--MyCat集群部署HAProxy+MyCat

    ### MySQL高可用架构集群——MyCat集群部署HAProxy+MyCat #### 一、概览 在当前的大数据时代背景下,随着业务规模的不断扩大和技术需求的日益增长,数据库的高可用性和性能优化变得尤为重要。本篇文章将围绕如何...

    mysql+heartbeat+共享存储实施方案(mysql高可用集群).doc

    【MySQL+Heartbeat+共享存储实施方案】是一种实现MySQL高可用集群的方法,旨在确保数据库服务的稳定性和连续性。该方案采用HA(High Availability)双机热备软件Heartbeat,配合共享存储来实现实时的数据同步和故障...

Global site tag (gtag.js) - Google Analytics