mysql多副本实现_如何设计和实现高可用的MySQL

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

王甲坤,腾讯高级工程师、腾讯云关系型数据库MySQL负责人,拥有多年客户端、数据库研发经验。在IOS客户端、MySQL、PostgreSQL、SQL Server等产品有丰富的研发和产品策划经验。

hsgvlogvum.webp

下面开始我们今天的主要内容,今天主要是通过什么、为什么、怎么做,这条思路跟大家呈现MySQL的高可用。

首先介绍一下什么是高可用?在我看来就是业务在高质量的情况下,对用户提供服务的可运行的总时长。其实我们从事MySQL相关的工作,大家对9这个数字比较敏感,大家选择云厂商云产品的时候,首先会看它的数据库有几个9。目前腾讯云MySQL可以做到99.95,全年在25分钟的样子。

据我了解,高可用最高是能做到3个9,1个6,做到4个9很困难,做到5个9就是极限了。

yxy9m4ia96.webp

为什么我们要做高可用?因为我们不可控的因素太多了,比如说,挖挖机,我记得基本上每隔一年都会出现这种类似的事件,让我记忆犹新的是2015年杭州萧山的某个主干网被刮断,导致阿里的部分服务不可用。另外,还有类似的一些停电,或者一些天灾等等。值得一提是,运维人员的一些操作失误案例,rm整个目录或者drop表,民间有说法叫从删库到跑路。不可控制的因素很多,你的数据、用户是你的,如果不可控的话,你的业务上不去。

9egjqstcvz.webp

一般来说,有两个指标会被当作衡量的标准,第一是RPO,第二是RTO。RPO从故障开始到业务恢复所丢失的数据量,RTO就是从故障开始到业务恢复所耗费的时长,两者都是越短越好。

我们怎么做呢?一般来说业界有三种方式,左边是基于单机存储方式,这种方式在游戏场景比较多,大家上层是用单独的计算机节点,下层用三副本保证数据的可靠性。在计算节点发生故障以后可以快速迁移到另一个计算节点,当然我们腾讯云的MySQL已经推出了这种模式,相对来说非常廉价,是基础版,大家在官网都可以购买到这种模式。第二种是基于共享存储方式,也叫share disk模式,这种比较典型的是oracle的RAC架构。底层基于共享存储的方式,上层采用多个计算节点,某个计算节点故障可立即从ip列表中提出,不影响用户访问。第三种就是基于数据复制模式,也就share nothing模式,通过数据传输、复制协议达到两台主机数据一致性,也是本次讲解的重点。另外,除了存储节点的高可用,其整个链路也需要高可用,比如,咱们的IDC机房,交换机,以及主机服务器等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值