tencent cloud

TDSQL MySQL 版

公告
告警升级公告
产品简介
产品概述
产品优势
应用场景
地域和可用区
InnoDB 引擎
购买指南
计费概述(InnoDB)
产品定价(InnoDB)
购买升级
退费说明
欠费说明
备份空间计费
快速入门
InnoDB 引擎
操作指南(InnoDB)
实例管理
灾备/只读实例
修改网络
账号管理
安全管理
慢查询分析
备份与回档
数据迁移
数据库审计
实践教程
从单机实例导入到分布式实例
从分布式实例导入到分布式实例
选择实例配置和分片配置
安全白皮书
平台侧安全设计
租户侧安全功能
开发指南
InnoDB 引擎
API 文档
History
Introduction
API Category
Security Group APIs
Other APIs
Making API Requests
TDSQL APIs
Data Types
Error Codes
常见问题
InnoDB 引擎相关
通用参考
强同步性能对比数据
词汇表
联系我们

强同步

PDF
聚焦模式
字号
最后更新时间: 2024-01-06 12:18:32

背景

传统数据复制方式有如下三种:
异步复制:应用发起更新请求,主节点(Master) 完成相应操作后立即响应应用,Master 向从节点(Slave)异步复制数据。
强同步复制:应用发起更新请求,Master 完成操作后向 Slave 复制数据,Slave 接收到数据后向 Master 返回成功信息,Master 接到 Slave 的反馈后再应答给应用。Master 向 Slave 复制数据是同步进行的。
半同步复制:应用发起更新请求,Master 在执行完更新操作后立即向 Slave 复制数据,Slave 接收到数据并写到 relay log 中(无需执行) 后才向 Master 返回成功信息,Master 必须在接受到 Slave 的成功信息后再向应用程序返回响应。

存在问题

当 Master 或 Slave 不可用时,以上三种传统数据复制方式均有几率引起数据不一致。
数据库作为系统数据存储和服务的核心能力,其可用性要求非常高。在生产系统中,通常都需要用高可用方案来保证系统不间断运行,而数据同步技术是数据库高可用方案的基础。

解决方案

MAR 强同步复制方案是腾讯自主研发的基于 MySQL 协议的并行多线程强同步复制方案,只有当备机数据完全同步(日志)后,才由主机给予应用事务应答,保障数据正确安全。
原理示意图如下:

在应用层发起请求时,只有当从节点(Slave)返回信息成功后,主节点(Master)才向应用层应答请求成功,以确保主从节点数据完全一致。 MAR 强同步方案在性能上优于其他主流同步方案,具体数据详情可参见 强同步性能对比数据。主要特点如下:
一致性的同步复制,保证节点间数据强一致性。
对业务层面完全透明,业务层面无需做读写分离或同步强化工作。
将串行同步线程异步化,引入线程池能力,大幅度提高性能。
支持集群架构。
支持自动成员控制,故障节点自动从集群中移除。
支持自动节点加入,无需人工干预。
每个节点都包含完整的数据副本,可以随时切换。
无需共享存储设备。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈