lvshuang / binlog-sync

A tool for push mysql binlog event to urls

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

工具未经过压测和疲劳测试

使用方式

  • 将config_demo.toml 复制为config.toml
  • 修改相关配置
  • go run main.go

配置说明

  • nodes: 表示节点配置,形式上是多节点,但是目前三方工具只支持单节点
  • Host: mysql 主库的地址和端口, 地址和端口间使用冒号连接
  • User: 访问mysql主库的用户名
  • Password: 访问mysql主库的密码
  • Db: 需要同步的数据库,只支持单个数据库
  • Tables:需要同步的表,支持多个
  • Urls:事件推送的http地址,支持多个

支持情况

  • 单库多表
  • 多地址推送
  • 支持失败重试
  • 失败重试时间间隔:1s,15s,45s,120s,6min, 15min, 32min, 64min, 180min, 300min

推送地址返回结果

现阶段,只要推送地址返回数据,即表示推送成功

Road Map

  • 通过http code判断是否推送成功
  • 在停止运行时,将失败队列落地,在启动时加载落地的失败队列
  • 完善重新推送的时间间隔
  • Http 推送采用transport连接池
  • 增加web监控
  • 增加手动重新推送功能
  • 可指定url订阅特定的表,特定的事件

About

A tool for push mysql binlog event to urls

License:MIT License


Languages

Language:Go 100.0%