Canal 数据同步(最终测试) | 学习笔记

简介: 快速学习 Canal 数据同步(最终测试)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)Canal 数据同步(最终测试)】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11519


Canal 数据同步(最终测试)


目录:

一、启动

二、具体操作

三、总结


一、启动

要想测试,就先启动,使用脚本进程,再看进程。将本地项目启动,

数据同步现主要做的监控,就是监控远程部分变化,有客户端的工具,先用端口号启动。端口号为10000。

用 debug 方式启动。用 debug 之后,就能看到的结果,那重新换种方式,用debug 款就这个它启动,然后启动之后再加上几个断点,通过 debug 来看执行过程,理解流程。


二、具体操作

//当队列里面堆积的 sql 大于一定数值的时候就 模拟执行

if (SQL QUEUE. size() >= 1)

executeQueueSql;

模拟执行队列里面的 sql 语句

public void executeQueueSql()

int size = SQL_QUEUE.size();

for (int i =0; i

String sql =SQL_QUEUE.pol1();

System.out.println("[sql]——>”+ sql);

this.execute(sql.toString());

再其中加了断点,进行测试。

在本地库没有东西,连接数据库,写个语句,在这个远程库里边加一条数据,如果效果正确,在本地库中也会同步添加,这个过程就叫数据同步。

1.insert语句如下:

mysql>insert into members values(1, 'lucy' ,20);

执行后如下:

if (batchId ==-1 size ==0) (batchId:2 size:3

Thread.sleep( millis:1000); I

)else(

dataHandle(message.getEntries());message:Message[id=2,entries=[header

此时 size 大于0,就可以继续操作。

点击绿色按钮,一路执行,到下一个断点,判断做哪个操作,当前做的是添加:

else if (eventType == EventType. INSER) {KeventType: "INSERT"

2.修改操作:

mysql= update members set username=“mary" where id=1;

结果如下:

Query oK, row affected(0.11 sec)

Fows matched: 1 Changed: 1 warnings : 0

3.删除操作如下:

mysql≥ delete frommembers where id-l:

结果如下:

Query ok, l row affected ie.o1l sec)


三、总结

当远程库时,远程库添加删除,本地库也会随之发生变化。过程中需要安装,在本地写出代码。

有以下细节:

第一个细节就是远程库的名字和数据表的名字,跟本地库名字表名字必须要一样,根据名字做匹配,在这里都叫做 guli members。

第二个细节是就是改 kindle 中的配置文件的时候,这个数据库的用户名要特别注意,这些用户名需要有远程连接的权限,默认 root 是没这个权限,默认只能是本地连接,需要做修改,或者说按着过程重新创建,或者说创建用过的用户。

相关文章
|
2月前
|
canal 消息中间件 关系型数据库
Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
【9月更文挑战第1天】Canal作为一款高效、可靠的数据同步工具,凭借其基于MySQL binlog的增量同步机制,在数据同步领域展现了强大的应用价值
579 4
|
29天前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
134 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
29天前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
20 2
|
29天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
52 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
3月前
|
canal 关系型数据库 MySQL
"揭秘阿里数据同步黑科技Canal:从原理到实战,手把手教你玩转MySQL数据秒级同步,让你的数据处理能力瞬间飙升,成为技术界的新晋网红!"
【8月更文挑战第18天】Canal是一款由阿里巴巴开源的高性能数据同步系统,它通过解析MySQL的增量日志(Binlog),提供低延迟、可靠的数据订阅和消费功能。Canal模拟MySQL Slave与Master间的交互协议来接收并解析Binary Log,支持数据的增量同步。配置简单直观,包括Server和Instance两层配置。在实战中,Canal可用于数据库镜像、实时备份等多种场景,通过集成Canal Client可实现数据的消费和处理,如更新缓存或写入消息队列。
723 0
|
6月前
|
存储 分布式计算 DataWorks
DataWorks产品使用合集之在DataWorks中,从数据同步到最终的大屏幕展示的基本流程如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
75 0
DataWorks产品使用合集之在DataWorks中,从数据同步到最终的大屏幕展示的基本流程如何解决
|
6月前
|
canal 关系型数据库 MySQL
Canal数据同步工具
Canal数据同步工具
144 2
|
6月前
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
|
消息中间件 NoSQL 关系型数据库
Canal+Kafka实现MySQL与Redis数据同步(二)
Canal+Kafka实现MySQL与Redis数据同步
216 0
|
3月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理数据同步时(mysql->hive)报:Render instance failed
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
下一篇
无影云桌面