MySQL 发展情况

 

MHA / MGR / ProxySQL

 

基于复制高可用

复制模型变革

  建议选择:GTID+ROW,auto_position

基于keepalived实现主从故障切换

  问题处理:需要自己实现健康检查脚本/脑裂处理/故障切换后原节点怎么加入进来

  特别备注:在云环境中该结构不能搭建

基于MHA的高可用

  描述:

    MHA基于SSH信息做操作,无agent  

    主从故障,会基于从库选举处理一个提升为主库,原来的主库变成故障的从库(有补日志的逻辑)

    切换也可以对外提供VIP,也可以基于名字服务类

    MHA通常结合Proxy模型使用,利用Proxy做从库的读的负载

基于DNS或接入服务的高可用

  接入服务:

    zookeeper

    ectd

    DNS (bind-dlz)

    consul

基于DRBD模型的高可用 

  描述:

    基于网络块复制的 [raid1] 结构

    写入受限于网络IO

    Stand By 机器不能对外提供服务

    数据文件损坏,两台机器同时损坏

MySQL NDB CLuster

  描述:

    官方主推的一个结构

    提供NoSQL访问接口可以省去SQL Node

    DataNode 受限于48个节点,整体高性能数据都在内存

Percona XtraDB Cluster

基于Proxy模型的高可用

  描述

    连接池功能

    透明读写分离

    从库负载均衡  

    SQL审计

    透明拆分

    后面操作透明

  业界优秀的Proxy推荐

    ProxySQL

      https://github.com/sysown/proxysql

    MyCAT -> DBLE

      https://github.com/MyCATApache/Mycat-Server

    Cetus

      https://github.com/cetus-tools/cetus

     shareding-shpare (京东金融开源)

MySQL 5.7 Group Replication  

  描述

    强同步模型

    支持single-master/muti-master模型

    share nothing结构,任何节点没有共享数据

基于多源复制高可用

  描述

    需要MySQL5.7以上版本

    基于GTID

    单节点写入,任何节点都可以写入

    任何节点都可以读取

    切换实现需要自己实现

  基于多源复制高可用的优势

    模拟GR的实现  

    运维方式改变毕竟少

    发生故障修复简单

自主实现MySQL高可用

  基于Raft实现高可用
  基于共享存储的高可用方案

    要求:

      基于MySQL5.5后的版本,支持Fast Crash Recovery

      因为一份数据,需要有一个从库去备份数据

      存储的IO隔离问题

      Standby 机器资源浪费

    改进

      利用一个Standby机器,接管1-3组的故障切换,一旦切换,就不再接管其他切换

      少量闲置,更多的重用

业界四层架构设计

  1. 基于域名提供数据库访问

  2. 利用LVS full nat提供Proxy层负载均衡

  3. Proxy层提供DB的读写分离及拆分

  4. DB层使用MHA或是其他高可用技术,搞定故障切换

 

新的高可用方向

  replication-manager (美的)

    https://github.com/signal18/replication-manager

  orchestrator  (京东,滴滴,曹操专车)

    https://github.com/github/orchestrator

 

转载于:https://www.cnblogs.com/yujiaershao/p/11302215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值