云数据库高可用解决方案技术解析

向作者提问
UCloud云数据库UDB团队核心成员、高级研发工程师,带领团队对UDB底层架构进行重构,在内核方面对UDB性能和数据一致性等方面做了大量深入的工作。数年来深耕在云数据库领域,热衷于开源、分享。
查看本场Chat

高可用英文翻译为“High Availability”,从字面上理解就是要做到服务的full-time的持续可用,但老实说,要做到full-time是不现实的,因为能够影响系统服务可用性的因素实在是太多了,除了软件BUG、硬件故障外还包括系统所依赖的一些第三方服务(如运营商提供的带宽),甚至还包括天灾人祸等。

我理解的所谓高可用意味着“更少的停服时间”,而工业界也有一套测量系统可用性的标准,即大家所熟知的SLA(Service Level Agreement),也就是几个9的可用性(如下表):

enter image description here

在工业应用场景中,如当下提供在线服务的各大互联网公司,号称7*24小时的不间断服务,想想如果只是达到一个9的可用性将会是一种什么样的灾难。而要做到5个9的可用性就意味着全年只能有一次服务宕机,而且得在5分钟左右就恢复,其中的难度也是不言而喻的。只是采用技术手段是不足以做到,还需要通过一整套完备严谨的工程管理及相关配套工具、专业运维人员严谨的工作等。

云计算号称互联网公司的水和电,高可用犹如云服务商的生命线,而云数据库作为该领域的一项重要服务更是接受着不同维度的考验,因为云端成千上万个用户数据库实例所面临的问题会更加五花八门。

下面将先介绍MySQL领域几个典型的高可用解决方案,分析其中的关键技术及使用场景,并在此基础上介绍和分享UDB的高可用方案。

本文内容提纲为:

  1. 高可用数据库关键技术点
  2. 高可用MySQL典型解决方案
  3. 高可用数据库案例分享--UDB
  4. 其他保障
  5. 总结

高可用数据库关键技术点

数据库服务和很多工业服务在高可用技术方案是相通的,为了实现高可用首先实现服务的“冗余”,即服务的集群化。如果服务有冗余备份,宕机后还有其它备份服务(热备和冷备)可以使用,所以实现数据库服务的“冗余”也是高可用数据库的核心准则。

缪锐
你好,我也是一个数据库爱好者,我想问下,proxy宕机的话,如何进行容灾?
feinianzhang
高可用容灾影响业务是秒级的吗
姜建
我想请教下你们的高可用主库宕机的探测机制是什么样的,自动切换时间有多长,支持手工切换吗
宋志强
里面提到追补日志,是怎么实现的呢??
叶扬
高可用承诺几个9呀
Define: …
不老猫
请问一下ucloud上提供的云数据库master和slave,在master挂了之后会自动把slave切换为master吗?
慢慢
双主和主从有什么区别呢?
微信扫描登录