一、关于Transfer
MySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。
其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。
最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。
这里做一个已经完成的完整功能介绍。
二、总体结构
说明:
1、Transfer可以注册成多个Master的从库
2、Transfer接收多个Master传入的binlog后将更新执行到Slave上
3、Transfer本地没有数据
如果你没有多主的需求,那结构就是Master -> Transfer -> Slave.
三、内部结构
既然是单线程造成的主从延迟,提升就需要用多线程来实现。
我们来看单主情况下的内部实现。
点击放大
说明:左上角是Master, 右上角是Transfer,下面是Slave。
四、增加参数及对应说明
在my.cnf中新增如下几个参数:
remote_sla