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

相关推荐
夜郎king1 小时前
厂区周边 3km POI 业态分布全景解析-以生产企业为例
大数据·人工智能·空间智能·空间可视化
敖正炀1 小时前
MySQL 反模式与排查宝典
mysql
爱思德学术1 小时前
【SPIE出版】黄冈师范学院主办!第四届大数据、计算智能与应用国际会议(BDCIA 2026)
大数据·算法·数据分析·云计算·etl
Unbelievabletobe1 小时前
免费外汇api的响应时间在不同时段下的波动分析
大数据·开发语言·前端·python
跨境卫士—小依1 小时前
美国邮政渠道开始计税后跨境卖家如何重写小包报价逻辑
大数据·人工智能·安全·跨境电商·营销策略
阿苟1 小时前
数据库重点难点
redis·后端·mysql
敖正炀2 小时前
MySQL 线上问题实战演练:复合故障排查与系统设计
mysql
醇氧2 小时前
CentOS 7安装 mysql-8.0.27-1.el7.x86_64.rpm 安装包
android·mysql·centos
vivo互联网技术2 小时前
vivo 万台规模 YARN 集群升级实践
大数据·hadoop·yarn