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)

相关推荐
库拉镜像AI牛牛12 分钟前
漫剧工作室量产方案:依托知漫剧 AI 短剧降本增效
大数据·服务器·前端·人工智能·语音识别
CJi0NG19 分钟前
【自用】MySQL - 语法:DDL、DML、DQL、DCL
数据库·mysql
用户36105886261222 分钟前
Flink Sliding Window 详解及代码实现:从窗口重叠到状态爆炸防控
大数据·flink
2601_967212721 小时前
灵活扩展型电源轨道系统服务商技术路线对比与选型参考
大数据·经验分享
W***25921 小时前
深度解读Work Agent长程任务执行的底层运行逻辑
大数据·人工智能
一技安身1 小时前
【mysql】Windows MySQL 8.4.10 绿色免安装喂饭教程
windows·mysql·adb
小宋10211 小时前
一套服务托管多个 LoRA:适配器加载、租户隔离与热切换实战
大数据·人工智能·算法
斯内普吖1 小时前
(开源)宠物饲养系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源·宠物
ao-weilai2 小时前
MySQL数据库:表约束
数据库·mysql·adb
阿明副业观察2 小时前
AI视频创作流程怎么做?完整指南与工具推荐
大数据·人工智能·aigc·音视频·ai写作