Otter数据同步

 

 安装https://blog.51cto.com/jiajinh/2416134

otter是一个分布式数据库同步系统工具,纯java编写,支持windows和linux操作系统。阿里的开源项目,数据同步的解决方案。

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

Otter作为阿里巴巴开源的是一个数据同步产品,他的最初目的是为了解决跨国异地机房双A架构,两边可写的场景,开发时间是从2011年一直持续到今天。

目前阿里巴巴b2b内部的本地--异地机房的同步需求基本上已经全部上了Otter。Otter基于数据库增量日志解析,支持mysql/oracle数据库进行同步,在最新的v4.2.13已经支持了mysql5.7以及阿里云提供的RDS数据库。

Otter工作原理:

  1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal,
    请点击https://github.com/alibaba/canal
  2. 典型管理系统架构,manager(web管理)+node(工作节点)
    manager运行时推送同步配置到node节点
    node节点将同步状态反馈到manager上
  3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.(otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群)

整体架构

  • db : 数据源以及需要同步到的库
  • Canal : 用户获取数据库增量日志,目前主要支持mysql
  • manager : 配置同步规则设置数据源同步源等
  • zookeeper : 协调node进行协调工作
  • node : 负责任务处理处理接受到的部分同步工作
posted @ 2022-03-18 16:24  技术颜良  阅读(1084)  评论(0编辑  收藏  举报