前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云原生数据库 TDSQL-C 高可用,一键实现多可用区部署

云原生数据库 TDSQL-C 高可用,一键实现多可用区部署

作者头像
腾讯云数据库 TencentDB
发布2024-05-31 13:53:08
1150
发布2024-05-31 13:53:08
举报
前言

随着云计算和大数据技术的飞速发展,云原生数据库逐渐成为企业 IT 架构的新趋势。腾讯云作为国内领先的云服务提供商,一直致力于云原生技术的研发和创新。今天,我们将为大家深度解析腾讯云原生数据库 TDSQL-C 的预置资源和 Serverless 两种实例形态,以及多可用区部署的特性,探讨多可用区部署背后的技术原理和应用场景。

云原生数据库 TDSQL-C(Cloud Native Database TDSQL-C)是腾讯云自主研发的一款云原生数据库产品,融合了传统数据库、云计算与新硬件技术的优势,可为用户提供具备高弹性、高性能、海量存储、安全可靠的数据库服务,100%兼容 MySQL 5.7、8.0,可实现超百万级 QPS 的高吞吐,提供最高 PB 级智能存储,保障数据安全可靠。TDSQL-C 分为两种实例形态,一种是预置资源(预先分配固定规格),另一种是 Serverless,我们将从下文来分别介绍。

预置资源形态解析

图1:实例形态为预置资源的集群架构图

实例形态为预置资源时,集群采用计算与存储分离的架构,通过将计算和存储资源进行解耦,实现了资源的按需分配和灵活调度。在预置资源实例的技术架构中,计算节点负责处理 SQL 请求和执行查询计划,而存储节点负责数据的持久化和副本管理。计算节点和存储节点之间通过高速网络进行通信,保证了数据的快速读写和一致性。

Serverless形态解析

图2:实例形态为 Serverless 的集群架构图

Serverless 是 TDSQL-C 的一种创新部署模式,将数据库的计算和存储资源进行分离,用户只需按实际使用量付费,无需关心数据库的硬件配置和容量规划。Serverless 集群可以根据业务负载自动扩缩容,实现资源的最大化利用和成本的最优化控制。

Serverless 集群具备以下特性:

1)资源扩缩范围(CCU)

CCU(TDSQL-C Compute Unit)为 Serverless 的计算单位,一个 CCU 近似等于1个 CPU 和 2GB 内存的计算资源,用户可以自定义设置集群的算力配置区间,最小算力0.25,最大算力64,较小的算力设置可以使集群在完全空闲时最大限度地进行缩减,避免产生额外的费用,较大的算力可以使集群负载过大时最大限度地进行扩展,稳定度过业务峰值,这种灵活的扩缩容机制使得 Serverless 集群可以更好地应对业务波动和峰值负载。

2)2)弹性策略

Serverless 集群的弹性策略是利用监控计算层实现的。通过监控业务负载情况,系统对计算资源进行自动扩缩容,并对该时刻所消耗的资源进行计费。当没有数据库请求时,监控服务会触发计算资源的回收,并通知接入层。当用户再次访问时,接入层则会唤醒集群,再次提供访问。

Serverless 集群的弹性策略一开始会根据用户购买时选择的容量范围,将 CPU、内存资源限制到最大规格,极大程度降低因 CPU 和内存扩容带来的时间影响和使用限制。当集群触发到自动弹性的负载阈值后,Buffer pool 会根据监控提前进行秒级调整。在这个方案下用户使用数据库可以无感知进行 CPU 扩容,并且不会因为连接突增导致实例 OOM。

3)自动启停

可以根据实际需要,开启或关闭自动暂停设置,开启时数据库在所设定时间内没有连接和 CPU 使用时,会自动暂停集群,暂停后计算不计费,存储仅按实际使用量计费;关闭时,数据库会保持持续运行,在没有连接和 CPU 使用时,按用户配置的最小 CCU 算力进行计费,适用于业务有心跳连接的应用场景。

云原生数据库高可用:

Region(区域)内的多可用区(Multi Availability Zone)高可用

回顾2021年3月,欧洲顶尖的云服务提供商 OVH 位于法国的一个数据中心遭遇火灾,导致设施完全被毁,造成约350万个网站被迫下线,一些客户的数据不幸永久丢失。OVH 的 CEO 在社交媒体上提醒客户采取他们的灾难恢复计划。这一事件说明,即便应用程序托管在云端,也无法完全排除所有故障风险,如断电断网,或者极端自然灾害所导致的故障,因此制定相应的灾难恢复计划至关重要。多可用区的部署能力,构成了增强容灾保障的首要因素。

云原生数据库 TDSQL-C 无论实例形态是预置资源还是 Serverless,都具备多可用区部署的功能,允许用户拥有一个储备的数据库实例。与单一可用区的部署策略相比,多可用区部署显著增强了系统的容灾能力,有效保障了数据库的安全,以防数据库实例出现故障或所在可用区发生服务中断,能够抵御包括机房整体故障在内的多种意外情况。

TDSQL-C 的多可用区部署功能显著提高了数据库实例的可用性和持久性,使其非常适合生产环境中的数据库工作负载。在您选择多可用区部署数据库实例时,TDSQL-C 将自动创建主数据库实例,并实时将数据复制到不同可用区的备用实例中。每个可用区都运行在独立且不同的基础设施上,确保了高度可靠的运行。一旦发生基础设施故障,TDSQL-C 能够自动执行到备用实例的故障转移,以便在故障转移完成后立即恢复数据库操作。由于数据库实例的终端节点在故障转移后保持不变,应用程序可以无需人工干预自动恢复数据库操作。此外,为了满足特定业务需求或进行容灾演练,TDSQL-C 也支持用户通过控制台手动执行主备切换操作。

多可用区部署工作原理

多可用区部署是将数据库的副本分布在不同的物理区域,以提高数据库的可用性和容错能力。在 TDSQL-C 集群中,用户可以选择备可用区部署数据库实例,当主可用区发生故障时,备可用区的副本可以立即接管业务,保证服务的持续可用。

TDSQL-C 的多可用区部署采用了数据强一致性的副本同步机制,保证了不同可用区之间的数据一致性。当主副本发生故障时,备副本可以立即切换为主副本,继续提供服务。这种故障自动转移的机制使得 TDSQL-C 可以在发生故障时快速恢复服务,提高了数据库的可用性和可靠性。

TDSQL-C 多可用区切换流程

图3:多可用区切换流程

云原生数据库 TDSQL-C 的后台系统可以感知可用区级别的故障,并自动进行切换,这个过程主要由管控系统和 HA 来实现。HA_SCHEDULER 会发现可用区故障并触发管控系统进行切换。这两个系统通过 ZK、内部监控平台和跨可用区 Ping 来感知可用区是否出现故障。一旦发现可用区级别的故障,系统会立即启动自动切换流程,拉起新的节点加入到路由信息表,并发起新的备份任务反向构建主从关系,完成新的主从同步配置,从而完成可用区级别的故障切换。

云原生数据库 TDSQL-C 将整个切换流程分为核心流程和非核心流程两个部分。核心流程会影响用户的当前使用,例如 VPC 网关切换失败会导致用户无法访问实例。因此,云原生数据库 TDSQL-C 对核心流程采用高度保障的方式,确保其完成度和完成时效。对于非核心流程,我们采用可降级模式(上图中虚线框部分表示可降级的流程)处理,保证核心流程的完成度和完成时效,避免因为非核心流程的任务失败导致跨可用区切换任务无法完成。如果降级的流程跳过执行,云原生数据库 TDSQL-C 会立即通过自动修复脚本或人为干预进行恢复,保证用户在完成切换后新建的节点不出现任务故障风险。

多可用区部署应用场景

1)高可用性应用

对于需要提供7*24不间断服务的业务,如在线电商平台、金融服务和社交媒体平台,多可用区部署可以确保在某个可用区发生故障时,其他可用区的实例能够立即接管服务,实现无缝切换。

2)灾难恢复

在发生自然灾害(如地震、洪水)或大规模网络故障时,多可用区部署可以保证数据的安全和业务的连续性。即使某个地区的所有数据中心都受到影响,其他地区的可用区仍然可以正常运行。

3)负载均衡

在高峰时段,如节假日促销或大型活动期间,多可用区部署可以帮助分散流量,避免单个可用区的过载,提高整体的系统性能。

4) 数据备份和同步

多可用区部署可以提供数据备份和同步服务,确保数据的一致性和可靠性。即使发生数据损坏或丢失,也可以从其他可用区的副本中快速恢复。

5) 多活架构

对于需要实现多活数据中心架构的企业,多可用区部署可以支持同时在不同地区进行读写操作,提高系统的整体吞吐量和可用性。

多可用区部署实践

了解了多可用区部署的原理和故障切换流程,下面我们来实际体验一下如何通过控制台为 TDSQL-C 集群进行多可用区部署,只需简单几步就可以完成设置。

步骤1

登录TDSQL-C 控制台,在左侧集群列表,找到需要进行多可用部署的目标集群,该集群此时为单可用区部署,记录其目前的部署方式。

部署方式:单可用区

主可用区:北京三区

步骤2

进入该集群的集群管理页,单击部署方式后的编辑小图标。

步骤3

在弹出的对话框,完成如下配置,单击确定。

参数

说明

多可用区部署

选择“是”,表示将集群从单可用区设置为多可用区。

备可用区

选择备库的可用区,具体地域支持选择的可用区以实际修改部署方式窗口为准。

binlog 复制方式

选择 binlog 复制的方式,默认为异步复制,支持异步复制、半同步复制、强同步复制三种模式。

步骤4

待集群的运行状态由“部署方式修改中”恢复成“运行中”时,检查此时该集群的部署方式。

部署方式:多可用区

主可用区:北京三区

备可用区:北京五区

至此,我们就完成了多可用区的设置,用户可以根据实际业务需求,选择多可用区部署的方式来增加数据库的容灾能力。

结语

云原生数据库 TDSQL-C 集群支持多可用区部署,是腾讯云在云原生数据库领域的一次重要更新。它不仅提高了数据库的可用性和可靠性,还降低了用户的运维成本和业务风险。未来,腾讯云将继续深耕云原生技术,为用户提供更加优质、高效的云服务。

如果您对 TDSQL-C 集群支持多可用区部署感兴趣,欢迎访问TDSQL-C官网文档了解更多信息。让我们一起探索云原生技术的无限可能!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云数据库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档