BpFile(id=218, bpId=5, name=中小型公司交易系统数据零丢失, author=null, keyword=三节点企业版本,零丢失,强一致, description=使用RDS集群版实现数据库高可用的同时做到数据零丢失,DTS链路零停机上云,云原生异地容灾。, position=null, ossUrl=bp-FCMLM24LQR3OBH7Q.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
对于互联网、金融、零售等行业,对于核心交易系统数据的零丢失和高可用有很高的要求。借助阿里云RDS集群版,可以快速构筑跨多可用区的零丢失数据库系统,配合灾备实例实现跨区域容灾。
, templateId=1EIOGV5CK60D0NLX, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=1EIOGV5CK60D0NLX, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
中小型公司交易系统数据零丢失 最佳实践
业务部署架构大图
场景描述
对于互联网、金融、零售等行业,对于核心交
易系统数据的零丢失和高可用有很高的要求。
借助阿里云 RDS三节点企业版,可以快速构筑
跨可用区的零丢失的数据库系统,配合灾备实
例实现跨区域容灾。
解决问题
1. 快速构建跨可用区的高可用数据库系统。
2. 构建高可用基础上数据零丢失数据库系统。
3. 构筑跨区域容灾的数据库系统。
数据库部分部署细节图
产品列表
⚫ 专用网络 VPC
⚫ 负载均衡 SLB
⚫ 云服务器 ECS
⚫ 数据库 RDS MySQL
⚫ 数据管理 DMS,数据传输服务 DTS
阿里云智能
文档版本:20190812
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
中小型公司交易系统
数据零丢失最佳实践
文档版本:20150122(发布日期) II
3 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 中小型公司交易系统数据零丢失最佳实践
005
文档编号
V1.5
文档版本
2020-01-19
版本日期
文档状态 外部发布
制作人 明中
审阅人
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019-01-30
明中 游圣 创建
V1.1 2019-04-15
明中 团队全员 测试性优化,脚本优化
V1.2 2019-04-20
明中 弦望 增加 IDC自建数据库章节
V1.3 2019-07-29
明中 毕役 RDS金融版改版
V1.4 2019-08-12 -
明中 格式刷新,文档优化
V1.5 2020-01-19 -
明中 增加概览页
I
4 前言
前言
概述
本方案通过 RDS三节点版实现数据库高可用的同时做到数据零丢失。DTS链路零停机
上云,云原生异地容灾。
名词解释
⚫ VPC:Virtual Private Cloud,简称 VPC。基于阿里云创建的自定义私有网络, 不同的专
有网络之间二层逻辑隔离,可以在自己创建的专有网络内创建和管理云产品实例,比如
ECS、负载均衡、RDS等。在创建前,您需要结合具体业务,规划 VPC和交换机的数量
及网段等。
⚫ SLB:Server Load Balancer,简称 SLB。多台云服务器进行流量分发的负载均衡服务,
可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可
用性。
⚫ ECS:Elastic Compute Service,简称 ECS。是阿里云提供的一种基础云计算服务。无
需提前采购硬件设备,根据业务需要,随时创建所需数量的云服务器 ECS实例。在使用
过程中,随着业务的扩展,可以随时扩容磁盘、增加带宽。也能随时释放资源,节省费
用。
⚫ RDS:Relational Database Service,简称 RDS,是一种稳定可靠、可弹性伸缩的在线
数据库服务。基于阿里云分布式文件系统和 SSD盘高性能存储,RDS支持 MySQL、
SQL Server、PostgreSQL、PPAS和 MariaDB引擎,提供了容灾、备份、恢复、监
控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
⚫ DTS:Data Transmission Service,简称 DTS, 是一种集数据迁移、数据订阅及数据
实时同步于一体的数据传输服务。解决远距离、毫秒级异步数据传输难题。
II
5 目录
目录
文档版本信息 .............................................................................................................................................. I
法律声明 ...................................................................................................................................................... I
前言 ............................................................................................................................................................. II
目录 ............................................................................................................................................................ III
最佳实践概述 ............................................................................................................................................. 1
前置条件 ..................................................................................................................................................... 3
资源规划 ..................................................................................................................................................... 4
1. 部署自建数据库网络和服务器环境 .................................................................................................. 8
1.1. 创建自建网络环境(VPC模拟) ......................................................................................... 8
1.2. 创建自建数据库服务器(ECS模拟) ................................................................................ 10
1.3. 安装和配置自建 MySQL数据库......................................................................................... 13
2. 云上环境部署 ..................................................................................................................................... 20
2.1. 部署云上 VPC网络 ............................................................................................................... 20
(1) 进入阿里云控制台 ..................................................................................................... 20
(2) 进入规划区域 ............................................................................................................. 20
(3) 按云上规划创建主数据中心 VPC ........................................................................... 21
(4) 重复上述步骤按照云上资源规划创建灾备数据中心 VPC ................................. 22
2.2. 部署云上 ECS环境(业务系统) ....................................................................................... 23
(1) 搜索 ECS ..................................................................................................................... 23
(2) 进入规划区域 ............................................................................................................. 24
(3) 点击创建实例 ............................................................................................................. 24
(4) 按照资源规划购买 ECS实例 ................................................................................... 24
2.3. 部署云上 SLB环境 ................................................................................................................ 27
(1) 配置 ECS测试程序监听 80端口(若已安装程序监听跳过此步) .................. 27
(2) 开通 SLB,创建 SLB实例 ........................................................................................ 28
(3) 配置 SLB ...................................................................................................................... 30
(4) 验证 SLB ...................................................................................................................... 32
2.4. 部署云上 RDS环境 ............................................................................................................... 34
(1) 登录阿里云账号,进入控制台 ................................................................................ 34
(2) 搜索 RDS数据库产品 ............................................................................................... 34
(3) 创建实例 ...................................................................................................................... 34
(4) 按资源规划配置实例信息 ........................................................................................ 35
III
6 目录
(5) 选择网络信息、实例规格 ........................................................................................ 36
(6) 购买实例 ...................................................................................................................... 37
(7) 等待实例创建完成,进入“运行中”状态 ........................................................... 37
(8) 管理实例,按云上规划创建高权限账号 ............................................................... 38
(9) 设置 RDS白名单 ....................................................................................................... 39
(10) 验证白名单生效(复制内网地址从应用端 ECS测试访问) .......................... 40
(11) 通过 DMS初始化 RDS数据库名和编码、业务账号、密码和权限 .............. 41
(12) 执行初始化 SQL ...................................................................................................... 42
(13) 按照云上资源规划,增加两个只读实例 ............................................................. 43
3. 系统迁移 .............................................................................................................................................. 46
3.1. 原系统配置 .............................................................................................................................. 46
(1) 原系统创建数据迁移/同步专用用户 ...................................................................... 46
3.2. 配置迁移链路.......................................................................................................................... 46
(1) 创建数据迁移任务 ..................................................................................................... 46
(2) 配置迁移任务,获取 DTS IP段,将 IP段加入原系统防火墙白名单 ............. 47
(3) 将 DTS IP段加入源数据库系统白名单 ................................................................. 47
(4) 配置源库、目标库信息,并测试连通性 ............................................................... 48
(5) 选择迁移对象 ............................................................................................................. 48
(6) 预检查 .......................................................................................................................... 49
(7) 按资源规划购买 DTS链路规格,开始数据迁移 ................................................. 49
3.3. 确认迁移结果.......................................................................................................................... 50
(1) 查看迁移结果 ............................................................................................................. 50
(2) 查看迁移详情 ............................................................................................................. 50
4. 压力测试和系统切换 ......................................................................................................................... 52
4.1. 配置 RDS 数据库代理(Proxy) ...................................................................................... 52
(1) 简介 .............................................................................................................................. 52
(2) 开启数据库代理 ......................................................................................................... 52
4.2. 配置数据库监控粒度和 SQL洞察 ...................................................................................... 53
(1) 配置简介 ...................................................................................................................... 53
(2) 调整数据库监控粒度 ................................................................................................. 53
(3) 开启 SQL洞察 ............................................................................................................ 54
4.3. 压力测试,性能监控,数据预验证 .................................................................................... 55
4.4. 零停机业务切换流程 ............................................................................................................. 56
(1) 确定切换时间窗口,发布业务维护公告 ............................................................... 56
(2) 应用端停止数据写入 ................................................................................................. 56
IV
7 目录
(3) 通过手工统计和 DTS状态确定数据已全部同步到线上 ..................................... 56
(4) 逐步将读流量切到线上,业务人员核验数据和功能是否正常。 ...................... 57
(5) 确认功能无误开启写操作,将数据写到 RDS。 .................................................. 57
5. 异地灾备实施 ..................................................................................................................................... 58
5.1. 开通灾备实例方案探讨 ......................................................................................................... 58
5.2. 通过灾备通道创建灾备实例 ................................................................................................ 58
(1) 添加灾备实例 ............................................................................................................. 58
(2) 设置同步通道,创建灾备目标实例 ........................................................................ 58
(3) 授权白名单,选择同步对象 .................................................................................... 60
(4) 同步初始化设置和预检查 ........................................................................................ 61
(5) 在 DTS服务中查看数据同步进度 .......................................................................... 61
(6) 检查灾备实例信息,初始化灾备实例 .................................................................... 62
(7) 灾备实例用户初始化 ................................................................................................. 63
V
8 最佳实践概述&&前置条件
最佳实践概述
应用场景
概述:众所周知,在任何系统的使用过程中,高性能和高可用都属于基本诉求。为了
实现业务系统的高可用,两地三中心部署成为了高可用保障的基础方案,同时相对于
双活方案,两地三中心的方案对业务的侵入性小,业务改造量小。
典型行业:互联网、金融、零售等系统选型 MySQL的行业。
典型系统:核心业务系统,核心交易系统,清算系统等对数据丢失零容忍的系统。
核心需求:数据零丢失,系统高可用。
方案特点:
1.云原生方案,快速部署和实施;
2. 通过 DTS数据恢复加同步,业务系统接近零停机;
3.通过 RDS MySQL三节点企业版(5.6、5.7版本支持)实现数据库高可用;三
节点 Raft协议实现分布式强一致,做到数据零丢失。
4.MySQL高可用版和 DTS链路的配合实现两地三中心方案。
技术架构
本实践基于如下图所示的技术架构和主要流程
1