异步调用
cong.x
ml
MQ CustomeRredis
client
syn
c
Mysql
(slave
)
redi
s
subscribe
publish
MQ
Producer
Mysql
(maste
r)
syn
c
I am
a
slave
process
er
MQ
Serv
er
.
.
.
syn
c
Mysql-replication
Mysql (slave)
publish
subscrib
e
redi
s
MQ
Customer
binlog 同步系统利用 Mysql 的 binlog 同步机制,模仿 Mysql 的 slave 角色,从 master
获取数据库变化的数据,写入 activeMQ ,再同步到 redis,实现数据同步的功能。
1. 结构图
mysql-replication 是 binlog 同步的主程序,整个同步的流程如下:
1) MQ Customer 启动,读取 cong.xml ,获取 MQ Server 的连接信息和数据表的信息
2) MQ Customer 连接 MQ Server ,订阅 topic,即关注的表名。
3) mysql-replication 启动,初始化系统,从 cong.xml 获取数据库参数。
4) mysql-replication 模仿 mysql 的 slave 主机,实时接收 master 传送的数据。
5) mysql-replication 接收到数据,调用 processer 的处理器,将原始数据传送到处理器。
6) processer 读取 cong.xml 文件中的信息,获取需要同步到 redis 的表信息,对
mysql-replication 传过来的数据进行过滤,将需要处理的表数据打包成自定义的结构,