/carrygo

同步mysql数据库至hbase,kudu等存储系统

Primary LanguageJava

carrygo

Build Status Code Health Requirements Status

主要作用是同步mysql数据库至hbase,kudu等存储系统。

功能

  • canal日志解析,kafka持久化消息
  • 消费kafka消息同步至hbase等存储引擎
  • mysql的数据同步支持DDL、DML至hbase

原理

carrygo解析及存储服务主要有两个模块,分别是parser和store。

CarryServer

  1. 基于canal解析mysql的binlog,批量获取message的entry
  2. 过滤出需同步的db,并解析数据流,同步到kafka中

WriterServer

  1. 基于topic接受kafka的消息
  2. HBaseWriter解析数据并存储

相关资源

canal:https://github.com/alibaba/canal

TODO

  1. CarryServer服务不可用导致queue数据丢失,存储batchId至zookeeper并记录消费的batchId,丢失就rollback。
  2. 添加CarrygoManager,CarrgoMonitor服务。
  3. 添加管理控制台。

问题反馈

  1. 邮箱:linpelvis@gmail.com
  2. issue:https://github.com/linpelvis/carrygo/issues