`
丁林.tb
  • 浏览: 798074 次
  • 性别: 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数据库系统中,主从复制是一种常见的数据同步方式,用于实现数据冗余和读写分离等功能。然而,在实际应用中,由于主从之间的异步复制特性,往往会出现复制延迟的问题。 **基本流程:** 1. **Master端**记录...

    MySQL 主从原理、问题、解决方案和应用——丁奇.pdf

    在多主同步架构中,每个节点都可以作为其他节点的主服务器或从服务器。这种架构可以提高系统的可用性和扩展性,但也带来了更多的复杂性和挑战,如数据一致性问题和网络延迟问题。 #### 八、不能解决的光速问题 ...

    MySQL_主从原理问题解决方案和应用

    对于更复杂的多主复制架构,Transfer同样可以作为中间层,协调不同主服务器间的同步关系,但设计与实施难度将进一步增加。 #### 八、不能解决的光速问题 数据的物理传输速度受到光速的限制,这是任何远程数据复制...

    mysql android

    本文将深入探讨如何在Android应用中集成和使用MySQL。 一、MySQL在Android中的应用 1. 数据库架构:MySQL数据库通常运行在服务器端,而非直接在Android设备上。Android应用通过网络接口与服务器上的MySQL数据库...

    MySQL galera 集群搭建

    在Galera集群中,所有的节点都是主节点,可以同时进行读写操作,这与传统的Master-Slave模式不同,后者通常只有一个主节点负责写入,其他从节点进行读取。 **2.1 Galera Cluster介绍** Galera Cluster是由Galera...

    周彦伟 - PXC与QMHA,去哪儿网MySQL数据库架构的哼哈二将

    去哪儿网在2015年Oracle技术嘉年华(OTN)分会场中,由周彦伟带来的演讲内容,集中展示了PXC和QMHA作为去哪儿网MySQL数据库架构中的核心组件,是支撑去哪儿网稳定运营的关键技术。在了解这些技术之前,我们先要了解...

    MySQL Galera Cluster官方英文文档

    在MySQL Galera Cluster的官方英文文档中,你会了解到以下关键知识点: 1. **Galera集群架构**:Galera Cluster由多个完全对等的节点组成,每个节点都能处理读写操作。这种架构消除了单点故障,确保了服务的高可用...

    Data Transfer Workbench

    在实际应用中,掌握DTW的使用技巧,能够有效提升数据管理的专业水平,帮助企业更好地管理和利用其数据资产。通过了解DTW的各项功能和特性,用户可以灵活应对各种数据挑战,实现数据的价值最大化。

    MariaDB Galera Cluster

    它通过使用Galera库实现同步多主复制,确保数据在集群中的多个节点之间实时同步,从而提供无主式集群架构。Galera Cluster的主要特点包括: 1. **同步复制**:数据在所有节点间实时同步,确保一致性。 2. **多主...

    分布式mysql邮件解析1

    数据库中间件是连接应用程序和数据库服务器的关键组件,它允许在分布式环境中管理多个数据库。这种中间件为应用提供了透明的数据库访问,使开发者无需关心底层数据库的分布情况。 2.1 数据库中间件 数据库中间件...

    linux服务器架构

    在IT领域中,Linux作为一款开源且功能强大的操作系统,在服务器领域有着广泛的应用。本文将从Linux服务器的基本概念出发,详细介绍几种常见的Linux服务器架构,并结合部分示例进行深入剖析。 #### 一、Linux服务器...

    基于springboot+vue+MySQL实现的在线考试系统+源代码+文档

    在线考试系统是现代教育...总的来说,这个基于SpringBoot+Vue+MySQL的在线考试系统,集成了现代Web开发的主流技术,实现了完整的在线考试流程,不仅在教育场景中有实际应用价值,也为学习和研究提供了丰富的实践素材。

    Percona-XtraDB-Cluster-5.7.17-29.20

    文档中的多主复制部分可能会涉及到如何在PXC集群中设置多个可以进行读写操作的主节点,这与传统的单主复制模式有所不同。 6. PXC严格模式 PXC的严格模式用于确保数据的一致性和完整性,文档可能会解释启用严格模式...

    部署MariaDB Galera Cluster+mycat集群搭建

    然而,部署和维护一个Galera Cluster需要充分理解其架构特点和操作限制,以避免在实际应用中出现不可预见的问题。通过上述描述和说明,我们能够对如何部署MariaDB Galera Cluster有更为深刻的认识,并为搭建mycat...

    node-ember-mysql-REST

    学习这个项目,开发者可以深入理解如何在Node.js中构建RESTful API,以及如何将这些API与Ember.js前端应用整合,同时熟悉MySQL数据库的使用。这对于想要提升全栈开发技能或者构建现代Web应用的人来说,是非常宝贵的...

    FTP实时传输引擎

    在本项目中,FTP实时传输引擎采用了Scala编程语言进行核心逻辑开发,结合SpringBoot框架构建微服务应用,MySQL作为数据库存储传输记录,Redis用于缓存和提高数据访问速度,而Docker则被用作容器化部署工具,以确保...

    CentOS7部署Galera Cluster

    - **State Snapshot Transfer (SST)**:新加入节点时,会从集群中的某个节点获取完整的数据快照,以实现数据同步。 #### 五、总结 通过上述步骤,我们已经在CentOS 7环境下成功部署了Galera Cluster集群。相比传统...

    Linux运维从入门到高级全套案例v3

    在"Linux运维从入门到高级全套案例v3"的学习路径中,涵盖了广泛的Linux运维知识,从基础操作到高级服务配置,再到系统优化和面试准备,为成为专业Linux运维人员提供了全面的学习材料。以下是对各部分知识点的详细...

    Stock-Tracker:使用SQL数据库基于微服务架构的Angular应用程序

    《构建Stock-Tracker:SQL数据库与微服务架构在Angular应用中的实践》 在现代Web开发领域,微服务架构和客户端框架如Angular的结合已经成为构建可扩展、可维护的应用程序的主流选择。本项目"Stock-Tracker"即是一个...

Global site tag (gtag.js) - Google Analytics