专栏首页二狗的DBA之路关于双主的一些说明【91洲际哥的笔记】

关于双主的一些说明【91洲际哥的笔记】

首先声明一下,双主这种架构个人不怎么喜欢,所以这里只做简单说明与吐槽

Ⅰ、双主架构介绍

M/S(A) <====> S/M(B)

为什么要这么做呢?有什么意义呢?

我也不知道

Ⅱ、双主搭建

主上操作change masterstart slave机器A
auto_increment_increment  自增值设置为2机器B
auto_increment_increment  自增值设置为2auto_increment_offset     起始值也设置为2tips:session级别的参数,不能用set globalA1 3 5 7B2 4 6 8

这样就可以双写了,带有自增的insert没问题

但极力不推荐

Ⅲ、双写存在的问题

3.1 不好的第一点

一张表上如果有唯一索引,即使是自增,也会完蛋

A上同步到B,B上写,就会报duplicate,这还比较好,至少两边数据还是一致的

万一A还没同步到B,B上插入也成功了,两边都成功了复制是失败的,这咋办?两边数据都不一致了,对不起来

3.2 不好的第二点

解决不了update问题

同一条记录在两个节点上更新,前面一个更新的节点数据被覆盖,就更新丢失了

3.3 相关说明

双写存在很多问题

  • 以前做双主,主从复制关系之前都建立好了,以后做选主的时候就不用建立复制关系了,以前建立复制关系是很烦的一件事情
  • mha不需要做双主,mmm才是做双主,5.6开始,只要开启gtid,选主是很容易的
  • 如果不是5.6,但是用了mha,mha会自动重建复制关系

综上:所以双主用来做选主的架构其实也不多了,很落后,双主做双写很危险

应用层控制双写,如果能解决上面说的问题就可以用,但是很难

如果做到的话,对写入的带宽有很大提升

tips:

①A同步到B,为什么B不会再推到A,这样无限循环?

因为同步的记录是带有server-id的,检测到要发送的server-id就是接收过来的server-id就不会发了

②oracle的rac为什么可以双写?

  • 支持共享存储架构,多个进程共享一个存储
  • MySQL的M和S存储是自己管自己
  • oracle这么用(rac的共享存储)就是单点

Ⅳ、双主的一个比较好的方案

拒绝交叉写入

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 互金平台灰度发布的三段式探索与实践【转载】

    小亚,互联网金融公司应用运维主管,参与运维工作九年,涉及领域包含航空、金融、广告等。近两年主要负责金融业务运维的线上业务发布、维护等工作。

    二狗不要跑
  • KSM导致的警告“ ksmtuned .... read-only system ” 的一些说明

    ".... ksmtuned .... read-only system ....."

    二狗不要跑
  • pipelinedb 初探

    http://docs.pipelinedb.com/installation.html#installation

    二狗不要跑
  • Geant4-怎样设置你的粒子源--精简注释+收藏版

    一个通用的粒子发生函数源文件,即MYPrimaryGeneratorAction.cc大致就是本文的全部了。同现实场景相符,你需要知道每个发射的模拟粒子的特点,...

    梁佐佐
  • 知晓当前在哪一个活动

    1.新建一个BaseActivity类,让BaseActivity继承AppCompatActivity,重写onCreate()方法后,让每一个活动都继承Ba...

    Aidol
  • Css 实现多行文字截断

    看似十分简单的标题截断效果,但是竟然没有一个统一 CSS 属性实现标准,需要用到一些奇淫妙计来实现,一般来说,在做这样文字截断效果时我们更多是希望:

    grain先森
  • Intel CPU架构升级将提升至5年,下一代架构代号NGC

    在CPU升级方面,因速度慢且提升有限,Intel一直以来被大家称为“牙膏厂”。对此,Intel TSCG高级副总裁、硅工程总经理、CPU大牛Jim Keller...

    镁客网
  • Aug 30 资讯速递 | 5G芯片抢首发 高通与华为火药味渐浓

    学习一门新技术的时候,很多人会去读读官方文档,看看视频教程和一些 demo 代码,最后做项目去熟悉。但如果想深入掌握的话,也许最好的方法是读几本经得起时间推敲的...

    腾小云
  • 为文本摘要模型添加注意力机制:采用LSTM的编解码器模型实现

    这些方法依赖于从一段文本中提取几个部分,比如短语和句子,然后将它们堆在一起创建摘要。因此,在提取方法中,识别出用于总结的正确句子是至关重要的。让我们通过一个例子...

    deephub
  • Scala 学习笔记之基础语法

    不需要给出值或者变量的类型,可以从你用来初始化它的表达式推断出来.只声明值或者变量但不做初始化会报错:

    smartsi

扫码关注云+社区

领取腾讯云代金券