Otter-Manager数据同步


https://github.com/alibaba/otter/wiki

一、Otter 整体架构图(官方)

组件关系:

  • 左边:源数据库(MySQL/Oracle)
  • 中间:Canal → Otter Node → Zookeeper → Otter Manager
  • 右边:目标数据库(MySQL/Oracle)

二、文字版架构图(更清晰)

复制代码
+----------------+         +---------+
|  源库 MySQL    |         | Zookeeper|
| (binlog=ROW)   |<------>| (协调调度)|
+--------+-------+         +----+------+
         |                           ^
         v                           |
+----------------+         +---------+------+
|    Canal Server|         |   Otter Manager |
| (解析binlog) |         | (Web UI/配置) |
+--------+-------+         +---------+------+
         |                           ^
         v                           |
+----------------+         +---------+------+
|   Otter Node   |<--------| 配置下发/状态回传
| (SETL执行)   |         +----------------+
+--------+-------+
         |
         v
+----------------+
|  目标库 MySQL  |
+----------------+

三、核心原理(一句话)

Otter 基于 Canal 模拟 MySQL Slave 拉取 binlog,在 Node 节点完成 Select→Extract→Transform→Load(SETL),由 Manager 统一管理配置与监控,Zookeeper 负责分布式调度与容错。


四、各组件作用

  1. 源库
  • 开启 binlog,格式必须是 ROW
  • 授权 canal 账号:REPLICATION SLAVE
  1. Canal
  • 伪装成 MySQL Slave,实时拉取并解析 binlog
  • 输出标准化的增量数据事件(INSERT/UPDATE/DELETE)
  1. Otter Node(核心worker)
  • S(Select):接收 Canal 数据
  • E(Extract):解析、过滤
  • T(Transform):字段映射、数据转换
  • L(Load):批量写入目标库
  1. Zookeeper
  • 集群协调、节点选举、任务分配
  • 保证多个 Node 高可用与负载均衡
  1. Otter Manager
  • Web 管理界面:配置数据源、Channel、Pipeline、映射规则
  • 推送配置到 Node收集同步状态/延迟/位点
  • 监控告警、位点管理、重置同步

五、同步流程(极简五步)

  1. 源库写入 → 生成 binlog
  2. Canal 拉取 binlog → 解析成数据变更事件
  3. Node 接收事件 → 过滤/转换/拼装 SQL
  4. Node 批量执行 SQL → 写入目标库
  5. Manager 监控进度 → 异常告警

六、核心概念对照

  • Channel:同步通道(单向=1个Pipeline,双向=2个Pipeline)
  • Pipeline:源→目标的完整同步链路
  • DataMediaPair:源表 ↔ 目标表 映射
  • ColumnPair :字段映射(如源user_name→目标name

相关推荐
段一凡-华北理工大学24 分钟前
工业领域的Hadoop架构学习~系列文章12:Hadoop集群监控与运维
大数据·人工智能·hadoop·学习·架构·高炉炼铁·高炉炼铁智能化
j7~29 分钟前
【MYSQL】视图--详解
数据库·mysql·视图的定义·视图的基本使用·视图的规则和限制
可乐ea44 分钟前
【知识获取与分享社区项目 | 项目日记第 20 天】search_after 游标分页:解决 Elasticsearch 深分页稳定性问题
java·大数据·elasticsearch·搜索引擎·全文检索
zhongerzixunshi1 小时前
标准化能源管控,赋能企业双碳落地
大数据·人工智能·能源
Leo.yuan1 小时前
MySQL到Hive数据同步怎么选工具?FineDataLink全链路方案实测
数据库·hive·mysql
Database_Cool_1 小时前
数据仓库物化视图是什么?阿里云 AnalyticDB MySQL 实时物化视图最佳实践
数据库·数据仓库·mysql
智慧景区与市集主理人1 小时前
巨有科技联营分账系统|多业态统一管控,破解景区分账结算难题
大数据·人工智能·科技
美狐美颜SDK开放平台2 小时前
直播软件开发+AI美颜SDK:下一代直播平台搭建方案
大数据·人工智能·实时音视频·美颜sdk·第三方美颜sdk
王莎莎-MinerU2 小时前
Agent 时代的科学数据 API:用 Sciverse 构建可追溯的科研检索与 RAG 工作流
大数据·人工智能·gpt·aigc·个人开发
一只鹿鹿鹿2 小时前
网络安全和安防建设方案(doc文件)
大数据·运维·网络·物联网·安全