介绍一款阿里巴巴的数据订阅&消费工具otter,这款产品当时用于解决阿里中美机房数据库实时同步问题。 这里主要讲的是用otter增量同步生产数据库到测试环境数据库。 otter的定位: 基于数据库增量日志分析,实时同步数据 为什么不用mysql自带的主从同步到测试? 因为测试环境的特殊性,功能比较新,有些新表和新字段,直接从生产同步显然不能满足业务需求。otter就能很好解决这个问题,基于binlog分析只对生产有变更的数据进行同步,这样就不会覆盖测试环境已修改的数据,测试环境新增字段和表也不会被覆盖。 otter的工作原理:
manager运行时推送同步配置到node节点 node节点将同步状态反馈到manager
otter能解决:
实战: 用途:生产增量同步指定表到测试环境,供测试工程师测试业务,属于单机房单项同步。 前提,源库my.cnf开启,binlog,row模式:
默认run.sh脚本会通过目录挂载的方式,将数据文件挂载到当前的data/目录下(包含zkData/mysql两个子目录),所以执行curl之前最好进入到一个自己的工作目录,比如cd otter
http://${host}:8080/
注意:表必须设置主键才能做同步
进入监控-日志管理,若有异常会有日志输出
源库中插入数据,目标库立马将新数据同步过来 目标库必须先创建表结构才能同步数据 |
|
来自: 昵称25533110 > 《待分类1》