MySQLBinlog增量同步工具go-mysql-transfer实现详解
MySQLBinlog增量同步⼯具go-mysql-transfer实现详解⼀、 概述骂人最难听的话
go-mysql-transfer是⼀款MySQL数据库实时增量同步⼯具。
能够监听MySQL⼆进制⽇志(Binlog)的变动,将变更内容形成指定格式的消息,实时发送到接收端。从⽽在数据库和接收端之间形成⼀个⾼性能、低延迟的增量数据同步更新管道。
功能特性:
夸家乡
1、简单,不依赖其它组件,⼀键部署
2、集成多种接收端,如:Redis、MongoDB、Elasticsearch、RocketMQ、Kafka、RabbitMQ、HTTP API等,⽆需编写客户端,开箱即⽤
3、内置丰富的数据解析、消息⽣成规则、模板语法
4、⽀持Lua脚本扩展,可处理复杂逻辑
5、集成Prometheus客户端,⽀持监控告警
6、集成Web Admin监控页⾯
工商银行信用卡申请进度查询
喝酒后能打新冠疫苗吗7、⽀持⾼可⽤集部署
8、数据同步失败重试
9、⽀持全量数据初始化
⼆、 与同类⼯具⽐较
特⾊Canal mysql_stream go-mysql-transfer
开发语⾔Java Python Golang
北京中考成绩查询HA⽀持⽀持⽀持
接收端编码定制Kafka等Redis、MongoDB、Elasticsearch、RabbitMQ、Kafka、RocketMQ、
后续⽀持更多
数据初始化不⽀持⽀持⽀持
数据格式编码定制json(固定)规则(固定)Lua脚本 (定制)
三、 设计实现
1、实现原理
1)、go-mysql-transfer将⾃⼰伪装成MySQL的Slave,
军训感言500字2)、向Master发送dump协议获取binlog,解析binlog并⽣成消息3)、将⽣成的消息实时、批量发送给接收端

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。