zoukankan      html  css  js  c++  java
  • 【MySQL】大白话讲讲主从架构的几种搭配方式详解

    • 话不多,直接上图:

    • 主要来详细讲讲各个搭配

    1》一主一从(成本最低):

      • 并不是用来提高程序性能的,主要是用来做数据的热备(即如果master节点挂掉的话,slave节点能充当master节点),提高程序可用性,容灾性较好。
      • 不存在数据一致性问题,因为只从一个节点中读取。
      • 虽然可以做热备,但是无法做数据备份(非高可用),如果不小心在master节点执行了DROP,slave则马上同步这个操作,所以也无法在slave中找回数据

    2》一主多从(通常2-4个Slave):

      • 选取一个节点做master备份,如果master挂了,则有slave马上充当master节点继续进行服务(打个比方,master是皇帝,slave就是太子,如果皇帝驾崩了,太子马上担当重任)
      • 选取另一个节点,专门用来做慢查询、或统计操作

    3》双主:

      • 使用场景通常是,你这个业务啊,大部分的并发都是写导致,实在是承载不了
      • 如何保证数据不会出现重叠呢?如果ID是整型,可采用取模操作,进行分配;如果ID是字符串,可采用哈希操作,进行分配
      • 弊端:
        • 如果某一个节点挂掉,整个数据会造成紊乱,不到万不得已不要用
        • 【masterA】后面提供服务的从库需要等到【masterB】先同步完了数据后,才能从【masterA】上同步数据,这样可能会造成一定的延时

     

    4》级联同步:

      • 主要用来减轻master压力,由于master既要写操作,又要被多个slave节点进行读操作,所以中间的slave进行分压操作
      • 如果master挂掉了,那么剩下的slave节点自然就组成了一个天然的集群结构

    5》环形多主(处理能力强,却又很危险):

      • 图中有所省略,其中每一个master又对应了多个slave节点
      • 如果某一个master挂掉了,那么整个架构基本就崩了(如通赤壁之战中的曹操,把所有的船都连在一起)

    • 来了解一下通用的架构方案:

    使用Atlas Proxy来配置集群代理,不需要在业务代码中,配置多个数据源来主动选择哪个节点进行读,哪个节点进行写。

    即时后期我们新增加点或更换节点ip,只需修改Atlas配置内容即可,不需要修改业务代码。 

  • 相关阅读:
    [课程设计]Scrum 1.6 多鱼点餐系统开发进度
    [课程设计]Scrum 1.7 多鱼点餐系统开发进度
    [课程设计]Scrum 1.5 多鱼点餐系统开发进度
    [课程设计]Scrum 1.4 多鱼点餐系统开发进度
    [课程设计]Scrum 1.3 多鱼点餐系统开发进度
    [课程设计]Scrum 1.2 Spring 计划&系统流程&DayOne燃尽图
    [课程设计]Scrum 1.1 NABCD模型&产品Backlog
    [课程设计]Scrum团队分工及明确任务1.0 ----多鱼点餐
    学习进度条
    [课程设计]多鱼点餐系统个人总结
  • 原文地址:https://www.cnblogs.com/boluopabo/p/12890009.html
Copyright © 2011-2022 走看看