MySQL级联复制中数据同步

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:     最近开发的同事反馈了一个问题,说有一台北京节点的MySQL数据库数据延迟太大,想让我们帮忙看看怎么解决。     这个问题一下子让我想起了之前“水深火热”的日子,因为这是一套MySQL级联复制的环境。

    最近开发的同事反馈了一个问题,说有一台北京节点的MySQL数据库数据延迟太大,想让我们帮忙看看怎么解决。

    这个问题一下子让我想起了之前“水深火热”的日子,因为这是一套MySQL级联复制的环境。这么做的目的也是为了能够方便数据查询和统计任务,看起来虽好,但是老是有一些不可控因素。

   北美使用AWS在北美,都是实时的业务数据,考虑了灾备和读写分离使用了一主一从的架构,新加坡节点2是一个中继节点,也使用了AWS,可以看到新加坡节点是北美节点的从库,但是北京的主库。 北京节点是一个IDC设备。就这样一个级联复制的环境就跑起来了。

0?wx_fmt=png
由于新加坡的节点网络延迟太大,而且很不稳定,之前的一部分业务最后就索性迁移到香港的云服务上了。剩下的这部分业务稳定运行了一段时间,但是最近经常发现数据延迟很大,这个问题又提上了日程。

我们经过讨论,开发同事建议,索性直接连北美节点吧,我这边简单做了测试,网速其实还是要好一点。所以改进后的架构如下:

0?wx_fmt=png
但是这里就面临一个问题,怎么去无缝的把节点的数据顺利切换过去。发现这个问题变得有些纠结了,因为新加坡的节点目前和北京节点是有延迟,直接切换过去肯定不行,而且偏移量在不同的节点都有不小的差别。怎么调和呢。

每当到这个时候我就想起了MySQL非常经典的架构图。

0?wx_fmt=jpeg
碰到实际的问题再来看的时候发现有很多地方就需要加深理解了。

单纯使用偏移量,我和同事在纸上分析和讨论,感谢总是有一些不确定的地方。这让我就非常怀念起了5.6推出的GTID,这个特性在这个问题前真是太有用了。GTID的统一格式是由source_id加transaction_id构成。这个source_id就是UUID,是一个唯一性标示,在读写分离,一主多从的环境,还有当下的级联复制的环境中尤其有用,因为是全局事务的概念,所以不会出现重复的情况,这一点和Oracle里物理一致性的SCN很有相似的味道。

在这个问题中,如果能够启用GTID,那么北美节点的UUID在北京节点还是一个唯一性的标示,能够正确的标识和应用事务信息。

但是当前的环境是5.5版本,很遗憾使用不了,那么一种折中的办法就是停止新加坡的节点,然后让北京节点去追平数据,然后以这个为基准,让北京节点继续从北美的slave节点继续抓取增量的数据变化。

整个过程就会使用change master的方式来完成了。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
28天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
78 0
|
1月前
|
canal 关系型数据库 MySQL
四种常用的 MySQL 数据同步 ES 的方法
【2月更文挑战第16天】
195 2
四种常用的 MySQL 数据同步 ES 的方法
|
3月前
|
缓存 NoSQL 关系型数据库
redis与mysql的数据一致性问题(数据同步延迟)
redis与mysql的数据一致性问题(数据同步延迟)
19 0
|
3月前
|
缓存 NoSQL 关系型数据库
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
MySQL缓存策略(一致性问题、数据同步以及缓存故障)
56 1
|
4月前
|
关系型数据库 MySQL 数据挖掘
一探究竟!RDS MySQL到ClickHouse快速数据同步秘籍
NineData数据复制产品可以轻松解决MySQL到ClickHouse的同步问题,具有强大的数据转换和映射功能、实时同步性能卓越、简单配置操作、可靠的数据一致性、灵活的定制选项、可观测可干预、运行稳定和安全可靠等优点。只需简单三步,即可完成RDS MySQL到云数据库ClickHouse的数据同步。
176 1
|
3天前
|
SQL 存储 关系型数据库
MySQL Cluster集群安装及使用
MySQL Cluster集群安装及使用
|
18天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
7天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
30 4
|
1月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
69 0
|
1天前
|
关系型数据库 MySQL 数据安全/隐私保护
安装mysql和远程连接
安装mysql和远程连接
8 0