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

相关推荐
云上先途4 小时前
属性标注是什么?主要解决什么问题?
大数据·人工智能
呆萌很6 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql
毕业设计7037 小时前
(免费领源码)基于Python的博物馆研学活动管理系统的设计与实现22724- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·mysql·随机森林·pycharm·django·flask·推荐算法
大大大大晴天7 小时前
每天认识一个组件:元数据平台OpenMetadata
大数据
接口不宕机7 小时前
1688 商品列表 API 对接商家 ERP,实现店铺商品同步与上下架自动监控
大数据
河南花仙子科技9 小时前
企业定制小游戏助力品牌软性传播
大数据·科技·游戏·小程序
云上先途9 小时前
标签化服务适合哪些人?常见适用场景一次讲清
大数据·人工智能·算法·音视频
yt004yt10 小时前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
GreatVicent10 小时前
腾讯AI产业大会解读:Agent进场,企业基础设施怎么搭
大数据·数据库·人工智能·llm·agent·企业信息化
m0_4665252910 小时前
从火柴人看护画面看云从科技生态企业的隐私保护实践
大数据·人工智能·科技·microsoft