内容简介:1、这个组件是什么?2、横向产品对比,以及此组件的主要优劣势是什么?
第三方组件信息
组件信息介绍
1、这个组件是什么?
2、横向产品对比,以及此组件的主要优劣势是什么?
4、你选择这个组件的原因是什么?
工作原理
1、其他关键信息(如配置的相关信息)
应用场景
组件测试
测试环境搭建:
测试环境不局限于硬件环境,不管是理论的区分还是硬件的区分都可以, 主要是必须从某个角度进行环境区分
1、需要在开发机搭建的环境提前:拿到第三方组件信息发送环境搭建的申请邮件(环境搭建包括但不局限于自建服务和购买云服务)
2、输出测试结论,对第三方组件性能进行评估
mirror环境搭建:
测试环境结束后进入mirror环境测试,需要提前告知运维人员进行mirror环境准备工作,mirror测试完成之后输出测试结论,以及评估上线风险,和运维人员共同协商解决方案。
组件上线
线上环境搭建:
环境搭建完成之后模拟测试,配置组件 监控项 ,进行监控测试,及时调整监控策略,组件上线之后的一个周期需要投入精力观察线上运行情况,进行必要信息记录,完成第三方组件上线文档输出。
:warning: 注意信息
1)组件信息介绍这一部分是在调研期间完成,开始测试之前需要将组件信息介绍这一部分发送邮件同步。
2)之后开始准备测试等环境,收集相关测试结果,测试完成之后邮件形式同步测试结果
3)搭建mirror环境,收集相关测试结果,mirror测试完成之后邮件形式同步mirror测试结果
4)汇总以上+线上实际运行情况形成沉淀进行同步。
范文
拿之前在迁移数据库中做过的DTS数据迁移服务作为简单的范文介绍,《 自建 MySQL 数据库迁入云服务 》。还有一些沉淀比如: 消息中间件kafka全面解析 、Amazon SQS消息队列,这些前置沉淀就是第三方组件上线需要跟大家同步的信息,供参考。
第三方组件信息
组件信息介绍:
1、DTS是数据传输服务,集数据迁移/订阅/同步于一体,构建安全、可扩展、高可用的数据架构。
2、横向产品对比,以及此组件的主要优劣势是什么?
-
使用mysqldump以及 工具 进行数据传输
-
无法满足实时同步,线上测试
-
数据量大导出+导入时间过长
-
数据导出有泄露风险
-
使用DTS可以有效解决mysqldump带来的问题且主要优势如下:
-
DTS具备链路稳定性和数据可靠性
-
数据传输支持同/异构数据源之间的数据交互,提供数据迁移/订阅/同步交互功能
-
支持节点的故障容灾,可实现链路的秒级恢复
-
支持断点续传,可有效解决因硬件、网络等异常导致的传输中断。
4、你选择这个组件的原因是什么?
要进行数据库从自建mysql迁移的Aliyun的RDS mysql服务中。迁移过程中需要保证 数据实时传输且 保证数据的完整性,在迁移过程中尽量不对业务有影响。DTS可以满足实时传输,可以在前期的测试结束之后将线上业务中对数据库读的量 提前迁移到RDS进行线上验证,DTS可以满足相关需求,且有强大的售后服务和迁移过程中的在线支持,能够完整保证服务在迁移过程中运行的稳定性。
工作原理:
1、系统架构(官网提供)
架构说明
-
系统高可用
数据传输服务内部每个模块都有主备架构,保证系统高可用。容灾系统实时检测每个节点的健康状况,一旦发现某个节点异常,会将链路秒级切换到其他节点。
-
数据源地址动态适配
对于数据订阅及同步链路,容灾系统还会监测数据源的连接地址切换等变更操作,一旦发现数据源发生连接地址变更,它会动态适配数据源新的连接方式,在数据源变更的情况下,保证链路的稳定性。
2、数据迁移基本原理
数据迁移提供多种迁移类型:结构对象迁移、全量数据迁移及增量数据迁移。如果需要实现不停服迁移,需要选择结构对象迁移、全量数据迁移和增量数据迁移。
对于异构数据库之间的迁移,DTS会从源库读取结构定义语法,根据目标数据库的语法定义,将语法重新组装成目标数据库的语法格式,并导入到目标实例中。
全量数据迁移过程持续较久,在这过程中,源实例不断有业务写入,为保证迁移数据的一致性,在全量数据迁移之前会启动增量数据拉取模块,增量数据拉取模块会拉取源实例的增量更新数据,并解析、封装、存储在本地存储中。
当全量数据迁移完成后,DTS会启动增量日志回放模块,增量日志回放模块会从增量日志读取模块中获取增量数据,经过反解析、过滤、封装后迁移到目标实例,从而实现增量数据迁移。
我们在迁移过程中使用到了DTS的增量迁移也就是实时同步
3、实时同步基础原理
实时同步功能能够实现两个数据源之间的增量数据实时同步。DTS将陆续支持OLTP->OLAP的数据实时同步。
同步链路的创建过程如下:
-
同步初始化
将源实例的历史存量数据在目标实例初始化一份。
-
增量数据实时同步
当初始化完成后进入两边增量数据实时同步阶段,该阶段DTS将实现源实例和目标实例的数据动态同步。
增量数据实时同步过程,DTS的底层实现模块主要包括:
-
日志读取模块
日志读取模块从源实例读取原始数据,经过解析、过滤及标准格式化,最终将数据在本地持久化。日志读取模块通过数据库协议连接并读取源实例的增量日志。如果源数据库为RDS MySQL,那么数据抓取模块通过Binlog dump协议连接源库。
-
日志回放模块
日志回放模块从日志读取模块中请求增量数据,并根据用户配置的同步对象进行数据过滤,然后在保证事务时序性及事务一致性的前提下,将日志记录同步到目标实例。
应用场景:
不停机迁移数据库 (我们的场景就是不停机迁移数据库)
数据异地灾备
异地多活
组件测试
在这里简单介绍一下测试过程,无法提供截图信息供参考
1、使用DTS进行数据同步,同步完成之后进行数据验证,当时是写脚本进行数据比对,主要校验的表(数据校验代替测试测试阶段)
2、mirror测试阶段
保持使用DTS数据实时同步中,切换mirror环境的数据库连接读的地址到RDS上面进行数据读取,测试同学配合验证mirror环境读数据相关的数据验证。
组件上线
这里的组件上线就是保持DTS数据同步,切换线上环境数据库读的量到RDS上面进行数据读取,线上实测DTS同步的数据 。
以上是大概的范文示例,由于组件或服务不同应用的场景也不同,请参照第三方组件上线必读完成组件上线相关内容。
拖地先生,从事互联网技术工作,在这里每周两篇文章,聊聊日常的实践和心得。往期推荐:
平均响应1000ms到200ms,PHP和 Go 那家强?
如果对你有帮助,让大家也看看呗~
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- JustAuth 关注破 10k,第三方登录开源组件
- Spring Cloud 微服务组件 mica v1.1.3 发布,新增 http和第三方登录组件
- Spring Cloud 微服务组件 mica v1.1.3 发布,新增 http和第三方登录组件
- vue移动端引用第三方组件-lytab(学习笔记)
- Angular中修改第三方组件的样式 - zorro日期选择器右端不对齐的BUG
- ybg-spring-fast 添加码云第三方登录,微信第三方登录
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解计算机系统(原书第2版)
(美)Randal E.Bryant、David O'Hallaron / 龚奕利、雷迎春 / 机械工业出版社 / 2011-1-1 / 99.00元
本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书的最大优点是为程序......一起来看看 《深入理解计算机系统(原书第2版)》 这本书的介绍吧!