`
丁林.tb
  • 浏览: 789228 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

有同学讨论到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可以不改变。

 

  当然,两种都是支持的,胆子大的可以把第一种用起来,免费保修还不行嘛 :)

0
0
分享到:
评论
1 楼 yuanmouren1hao 2014-09-01  
Transfer在windows环境下怎么配置?

相关推荐

    MySQL多线程同步MySQL-Transfer介绍

    MySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。最近完成测试的版本将multi-master(byP....

    go-mysql-transfer:MySQL Binlog 增量实时同步工具

    简介go-mysql-transfer是一款MySQL数据库实时增量同步工具。能够监听MySQL二进制日志(Binlog)的变动,将变更内容形成指定格式的消息,实时发送到接收端。从而在数据库和接收端之间形成一个高性能、低延迟的增量数据...

    go-mysql-transfer是一款MySQL数据库实时增量同步工具.rar

    go-mysql-transfer是一款MySQL数据库实时增量同步工具。 能够监听MySQL二进制日志(Binlog)的变动,将变更内容形成指定格式的消息,实时发送到接收端。从而在数据库和接收端之间形成一个高性能、低延迟的增量数据...

    架构风格与基于网络的软件架构设计(Restful API)-中英文

    本文使用了一个对基于网络的应用的架构风格的调查,根据不同的风格在分布式超媒体的架构中所导致的架构属性,来对这些风格进行分类。然后我介绍了表述性状态转移(Representational State Transfer,REST)的架构...

    mysql-connector-java-5.1.47-bin

    mysql JDBC驱动连接 mysql-connector-java-5.1.47-bin 没有积分可以通过百度盘下载 链接:https://pan.baidu.com/s/1h7MPXZUQwPrxz-0cqgpBjg 提取码:h0kb

    架构风格与基于网络的软件架构设计

    本文使用了一个对基于网络的应用的架构风格的调查, 根据不同的风格在分布式超媒体的架构中所导致的架构属性,来对这些风格进行分类。然后 我介绍了表述性状态转移(Representational State Transfer,REST)的架构...

    Go-go-mysql-一个Go工具集用于处理MySQL协议和复制

    go-mysql - 一个Go工具集用于处理MySQL协议和复制

    Navicat for MySQL导出表结构脚本的简单方法

    1、右键Navicat中的数据库→数据传输(Data Transfer)。 2、左边数据库对象(Database Objects)中选择对应的表,右边目标(Target)中选择文件(File)选择脚本存储的名称及位置,再在上面选择高级(Advanced)。...

    Go-Ghostferry是一个Go库能实时将数据从一个mysql实例复制到另一个实例

    Ghostferry是一个库,它使您能够选择性地将数据从一个mysql实例复制到另一个实例,并且停机时间最短

    file transfer

    3、支持任意多个主目录之间的同步,包括每个主目录下面的所有子目录; 4、支持任意多个服务器之间的同步; 5、支持海量文件的同步,作者多次测试一次同步25万多个以上的文件,运行稳定; 6、支持两台服务器之间的...

    elementUI-使用el-table自定义transfer组件

    在elementUI中使用el-table自定义完成transfer组件功能。内有注释使用说明

    mysql-connector-java-8.0.28 jar包

    mysql-connector-java-8.0.28 jar包

    dtle:MySQL的分布式数据传输服务

    双向数据同步数据块可以双向同步数据,这使得Master-Master MySQL体系结构 云杂点之间的复制可以在云RDS之间复制数据 分布式部署点作为分布式服务,可提供高可用性和可伸缩性 文献资料 英语(即将推出) 贡献 我们...

    libusb 块传输 同步传输 例程

    libusb 块传输 同步传输 例程,网上相关资源不多.

    go-mysql-canal:数据库binlog监听,elasticsearch同步

    go-mysql-canal:数据库binlog监听,elasticsearch同步

    AndroidFileTransfer.dmg

    Mac查看Android文件(AndroidFileTransfer.dmg) Android File Transfer Browse and transfer files between your Mac computer and your Android device. DOWNLOAD NOW Supports macOS 10.7 and higher. By ...

    el-tree-transfer.rar

    一个基于vue和element-ui的树形穿梭框及邮件通讯录,使用前请确认已经引入element-ui! 此组件功能类似于element-ui的transfer组件,...并非是在 element-ui 的穿梭框组件上的扩展,而仅仅是参照了其外观样式和功能。

Global site tag (gtag.js) - Google Analytics