用 CloudCanal 做跨互联网数据库双向同步

这篇具有很好参考价值的文章主要介绍了用 CloudCanal 做跨互联网数据库双向同步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

CloudCanal 推出 跨互联网安全数据同步 方案之后,有一些商业客户落地,效果良好,不过客户也反馈了一些改进和新需求,其中最大的一个需求即双向同步防循环

近期 CloudCanal 版本支持了这个特性,整体方案进一步升级,最大特点包括:

  • 两端数据库完全不开放公网端口
  • 两端数据库可双向同步,无循环
  • 两端数据库元数据可映射
  • 具备传输安全和鉴权
  • 不依赖消息等软件

技术点

防循环

我们复用了 CloudCanal 处理 MySQL 双向同步防循环逻辑, 写入对端时, SQL 自动带上 /*ccw*/ 标记。

再打开 MySQL binlog_rows_query_log_events 参数, 将 binlog DML 事件顺序变成 QueryEvent(TxBegin)、TableMapEvent、RowsQueryLogEvent、WriteRowEvent(IUD)、QueryEvent(TxEnd)。

其中 RowsQueryLogEvent 中的 SQL 如果带有 /*ccw*/ ,则为循环事件, 进行过滤。从而达到防循环目的。

操作示例

数据源准备

  • 使用阿里云杭州和上海 RDS for MySQL

    • 打开 binlog_rows_query_log_events 参数,binlog 事件带上原始 SQL
    • 数据库不开公网端口
    • 数据走互联网, 采用 HTTPS 传输和用户名密码认证。
  • 初始化两边数据库表结构(如需要)

CloudCanal 准备

  • 杭州环境部署 CloudCanal ,并购买 RDS for MySQL

  • 上海环境部署 CloudCanal , 并购买 RDS for MySQL

  • CloudCanal docker 安装包解压后 ,需 修改 docker-compose.yml 端口映射再安装/升级,以 18443 端口为例

  • 开放 ECS 安全组相关端口,以便远程连接,以 18443 端口为例

添加 Tunnel 数据源

  • 分别在 杭州上海 CloudCanal 配置 Tunnel 数据源

  • 因为双向同步,所以两个环境需要配置各自内网的 Tunnel 数据源和对方公网 Tunnel 数据源

  • 杭州数据源列表

  • 上海数据源列表

为 Tunnel 初始化元数据

  • 杭州 创建两个 MySQL -> Tunnel 结构迁移,并完成


  • 上海 创建两个 MySQL -> Tunnel 结构迁移,并完成


任务创建

  • 使用 4 条同步任务进行双向同步,任务列表和能力如下

    任务 数据源 任务参数
    杭州任务 A 杭州 Tunnel(公网) -> 杭州 MySQL
    杭州任务 B 杭州 MySQL -> 上海 Tunnel(公网) deCycle=true, 过滤回环事件
    上海任务 C 上海 Tunnel(公网) -> 上海 MySQL
    上海任务 D 上海 MySQL -> 杭州 Tunnel(公网) deCycle=true, 过滤回环事件

杭州任务 A 创建

  • 选择 Tunnel(杭州) 和 MySQL数据库(杭州)

  • 选择表、列、映射略

  • 任务正常运行,监听端口并准备接收数据

上海任务 C 创建

  • 选择 Tunnel(上海) 和 MySQL数据库(上海)

  • 选择表、列、映射略

  • 任务正常运行,监听端口并准备接收数据

杭州任务 B 创建

  • 选择 MySQL (杭州) 和 Tunnel 数据源(上海)

  • 选择数据同步,并 关闭任务自动启动

  • 选择表、列、映射略

  • 任务正常创建

  • 任务详情 > 更多功能 > 参数设置,目标端数据源配置,deCycle 参数设置为 true

  • 启动任务,正常运行

上海任务 D 创建

  • 选择 MySQL (上海) 和 Tunnel 数据源(杭州)

  • 选择数据同步,并 关闭任务自动启动

  • 选择表、列、映射略

  • 任务正常创建

  • 任务详情 > 更多功能 > 参数设置,目标端数据源配置,deCycle 参数设置为 true

  • 启动任务,正常运行

功能验证

杭州 MySQL 造增量数据

  • 使用 CloudDM 在杭州 MySQL 上造增量数据

  • 杭州写入上海 Tunnel 任务 有流量

  • 上海接收数据任务 有流量

  • 杭州接收数据任务 无流量

  • 上海写入杭州 Tunnel 任务 无流量

上海 MySQL 造增量数据

  • 使用 CloudDM 在上海 MySQL 上造增量数据

  • 上海写入杭州 Tunnel 任务 有流量

  • 杭州接收数据任务 有流量

  • 杭州写入上海 Tunnel 任务 无流量

  • 上海接收数据任务无流量

  • 以上两者说明防循环生效

总结

本文主要介绍 CloudCanal 进行跨互联网数据双向同步,具备 两端数据库完全不开放公网端口,可双向同步无循环 等特点。文章来源地址https://www.toymoban.com/news/detail-804637.html

到了这里,关于用 CloudCanal 做跨互联网数据库双向同步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 互联网加竞赛 大数据疫情分析及可视化系统

    🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据疫情分析及可视化系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-seni

    2024年03月16日
    浏览(55)
  • 互联网加竞赛 地铁大数据客流分析系统 设计与实现

    🔥 优质竞赛项目系列,今天要分享的是 地铁大数据客流分析系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 使用 Flink 完成数据清洗和聚合,使用 Elasticsearch + Kibana 的的技术路线,完成了客流信息

    2024年02月04日
    浏览(56)
  • 工业互联网的人工智能与大数据融合应用

    在当今的数字时代,工业互联网已经成为企业竞争的核心,其中人工智能(AI)和大数据技术的融合应用起到了关键的作用。这篇文章将从背景、核心概念、核心算法原理、具体代码实例、未来发展趋势和挑战等方面进行全面的探讨,为读者提供深入的见解。 工业互联网是指将

    2024年02月20日
    浏览(57)
  • BS1066-基于大数据爬虫实现互联网研发岗位数据分析平台

    本基于大数据爬虫实现互联网研发岗位数据分析平台,系统主要采用java,互联网爬虫技术,动态图表echarts,springboot,mysql,mybatisplus,岗位推荐算法,实现基于互联网招聘岗位实现针对用户的岗位推荐, 系统提供招聘岗位网站前台,系统岗位数据分析可视化平台展示等功能

    2024年02月13日
    浏览(51)
  • iNeuOS工业互联网操作系统,高效采集数据配置与应用

    1. 概述 2. 通讯原理 3. 参数配置  1.   概述 某生产企业世界500强的集团能源管控平台项目建设,通过专线网络实现异地厂区数据集成, 每个终端能源仪表都有 IP 地址,总共有1000 多台能源表计,总共有将近10000 个数据点 。在集团端部署iNeuOS工业互联网操作系统,终端能源表

    2024年02月05日
    浏览(52)
  • 互联网八大技术岗位解析:前端+后端+移动+测试+大数据+管理等

    互联网史上最全技术岗位详解,包括:前端研发、后端研发、移动端研发、大数据、项目管理、测试、运维、技术管理等。 架构师 每个产品线都有架构师,在技术平台部门也需要技术平台的架构师。 架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握

    2024年02月05日
    浏览(52)
  • Wireshark数据抓包分析之互联网协议(IP协议)

            通过wireshark抓包分析IP协议的具体内容         1.IP地址存在的意义,就是为了弥补mac地址的不足,用于区分不同的网络         2.还有一些ip协议、ip数据包这些东西 part1:数据包的抓取 1.抓取发往www.baidu.com的ip数据包,略,因为虚拟机无法联网,这里桌面有现成的

    2024年02月11日
    浏览(50)
  • 互联网加竞赛 基于大数据的股票量化分析与股价预测系统

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的股票量化分析与股价预测系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee

    2024年02月01日
    浏览(100)
  • 互联网加竞赛 基于大数据的社交平台数据爬虫舆情分析可视化系统

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的社交平台数据爬虫舆情分析可视化系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: h

    2024年02月02日
    浏览(60)
  • Wireshark数据抓包分析之互联网控制报文协议_ICMP

            通过使用wireshark抓取的ICMP数据包对这个ICMP控制报文进行分析         1.ICMP协议概述:ICMP是Internet Control Message Protocol的缩写,即互联网控制报文协议。它是TCP/IP协议族的一个子协议,用于IP主机、路由器直接传递控制信息。控制信息是指网络通不通、主机是否可达、

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包