基于PXC的MySQL高可用架构探索ppt课件
MySQL高可用架构探索周彦伟伟 2014.10基于PXC的个人简介周彦伟去哪儿 去哪儿网数据库总监 MySQL 、Redis、Hbase、SQL Server、Oracle,中间 层和源码开发 招人是必须的中国MySQL用户组 (CMUG) acmug.com 最纯粹的MySQL社区组织从HA谈起QUNR Q2营收 4亿 51/s? 5000/sHA(可用水平) T(每年可中断时间时间 )99.9999%< 1分钟钟99.999%< 5.3 分钟钟99.99%< 53 分钟钟99.9%< 8小时时46分99%< 87小时时36分HA最容易忽视的问题备份 冷备 热备 逻辑备 份 物理备份 容灾备份 没有备份 HA = 0%MySQL HAMySQL replication M-S MMM MHA 异步复制和数据修复是软肋MySQL HADRBD (Distributed Replicated Block Device)资源浪费MySQL recovery,故障迁移时间 成本高MySQL HAshared storage Redhat Cluster Suite 数据集唯一 对DBA来说维护 复杂MySQL HAMySQL Proxy 官方版本性能低,多年不更新 Proxy本身是瓶颈 二次开发版本可堪一用,维护 成本高MySQL HAMySQL Cluster share nothing 基于内存 维护 成本高 复杂查询 性能受限HA去哪儿?MMM http:/mysql-mmm.org/GaleraGaleraGaleraGaleramulti-master 准同步复制 行级并行复制 节点数据维护 SST & IST 自动节 点管理 innodb & row statementPercona Xtradb Cluster(PXC)Percona出品 基于Percona Server 封装了Galera,更易用 社区活跃15怎么访问DB?VIP(LVS,haproxy) MySQL-proxy APIq-db-pool可配置连接池 可配置连接池参数 智能扩展连接数 自动平滑切换链 接 读写分离 负载 均衡 自动重连配置和通知XML+ICE Zookeeper PXC+Zookeeper故障检测ps aux|grep mysql nagios mmm-monitor mysql-sentinel?mysql-sentinelmysql-sentinelmysql-sentinel监控mysqld和galera信息 分布式选举 选举 leader,并由leader通知zk 报警通知和配置切换API 交互式操作工具最终的样子注意事项Galera性能损失 避免多点写入 目前仅支持java 多个组件需要修改源码招人不会结束(MySQL、Redis、Hbase、Java) zhouyanweigmail.com