xushaomin / MySQL-Binlog

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#MySQL-Binlog

为什么要自己写binlog?

提出问题:

当初选型Canal,看了半天源码发现未能进入binlog解析核心。

直接用,碰到问题去群里问,还是自己造轮子,有问题秒定位?我选择了后者.

分析问题:

基于自己之前有2年+的TCP/IP报文解析经验,对网络和数据流很熟悉,

官方文档有binlog格式文档、github上有一些不错的binlog单线程纯解析软件可参考

于是萌发自己写个binlog解析软件的想法。

解决问题:

结合github上一个单线程的纯binlog解析软件,看懂源码之后从0开始动手。

做了NIO封装(基于Netty,by 刘志强),集群HA(基于ZooKeeper,by 刘志强),并行加速(by 刘志强),Web(SpringMVC,by 刘国庆)

关于MySQL的主从复制机制,原理如下:

输入图片说明 输入图片说明

而MySQL-Binlog,正是从网络层伪装成slave进行binlog拉取操作。


如果您用了这个软件觉得还不错的话,可以扫描下方的二维码,阁下的支持就是鄙人前进的动力!

About

License:Apache License 2.0


Languages

Language:Java 100.0%