您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Transfer在MySQL双主同步架构中的应用

2025/7/16 16:51:33发布23次查看
有同学讨论到transfer能否支持双主结构,答案是支持的,这里简要描述下。 背景 transfer既可以当作主从库之外的工具来用,也可以本身充当slave的角色。本文分别描述在这两种使用场景下的部署结构和切换动作。 slave模式 a) 结构 - 这个就是最简单的双主啦,tr
有同学讨论到transfer能否支持双主结构,答案是支持的,这里简要描述下。
背景
transfer既可以当作主从库之外的工具来用,也可以本身充当slave的角色。本文分别描述在这两种使用场景下的部署结构和切换动作。
slave模式
a)      结构
-
这个就是最简单的双主啦,transfer呢?代码直接写到这两个master里面啦,所以他们就是transfer.
b)      切换
dba同学就用你最熟悉的切换过程去操作。
1)      停止对master1的更新
2)      确定数据完全同步
3)      将更新引master2
这里由transfer的机制保证步骤2)的时间会很短(因为无延迟)。
工具模式
a)      结构
如果你比较担心数据安全,怕这个patch作为直接充当master1和master2会有风险,(这是负责任的态度!),就用上图表示的结构。
其中transfer1(t1)和master1(m1)在同一个机器上,(transfer1)t2和(master)m2共同在另外一个机器上。
斜线表示主从关系,t1是m2的从库,t2是m1的从库。
垂直线表示更新关系,t1收到的同步命令用与更新m1, t2更新m2
b)      切换
切换过程跟第一种模式的一模一样。
小结
两种模式的取舍上,第一种运维比较简单,但是风险比较大,如果transfer有bug,要更新版本,或者要换会原来的主从时,必须得重启master1和master2,这种操作并不是所有的系统都能容忍。
第二种模式我比较推荐。好处有以下几个:
1、transfer本身不带数据,就算coredump了也不会影响数据服务。同步过程自然要切换回原来的主从方法,就让m1跟m2直连。
(看官问:怎么你这推广东西的说来说去不是bug就是coredump的?
笔者答:虽然我已经做了自认为足够的测试,但风险总要说明,这是负责任的态度,不然回头你用了把数据服务搞挂,跨省我,咋整?)
2、master要升级版本(比如你以后要升级成5.6),transfer可以不改变。
当然,两种都是支持的,胆子大的可以把第一种用起来,免费保修还不行嘛。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product