分布式指存储高可用

@

一、存储高可用的理解


  • 概念
    • 存储高可用主要指的是数据库的高可用。

二、主备方案


  • 概念
    • 主备方案指的是在原有系统基础上增加一个备用数据库;如图:
      在这里插入图片描述

      当客户端发送请求,系统收到请求后,再去数据库[主机],由于某种原因数据库[主机]所在的系统出现宕机,导致数据库[主机]不可用;这时我们就启用另一台主机上数据库读取或存储数据。

  • 前提
    • 请求并发量小的时候可以使用该方案。
  • 场景
    • 适合访问量小和数据量的场景。

三、主从方案


  • 概念
    • 主从方案主要是应对数据的读大于写的场景;如图:
      在这里插入图片描述

      当客户端发送写数据请求到服务端,服务端接收到请求并将数据写入到主库中,并且将数据同步到从库中;当查询数据的并发量大的时候,不仅能从主库查询数据,而且还能从从库中查询数据。

  • 场景
    • 当并发量超过单体项目的并发量,可以使用主从方案。
  • 缺陷
    • 如果主库宕机,数据库[主库]不可用,而从库只能读取数据,当有请求写入数据的时候将无法写入数据。

四、主备倒换

  • 互连式
    • 概念

      • 主备倒换指的是如果数据库[主库]不可用,那么从库变为主库;如图:
        在这里插入图片描述

        数据库[主库]和数据库[备机]会建立一个转台连接,并且主库会往备机一直发送主库的状态[正常运行,无法运行],当主库发送的状态为空或者无法运行时,备机则会判断主库出现问题,备机直接变为主库。

    • 场景

      • 数据量小的时候可以使用该方案。
    • 缺陷

      • 如果网络出现了问题,导致主库与备机之间的状态无法通信,备机则会判定主库无法使用,备机变为主库;当宕机的主库重启启动后,则会造成两个主库的数据不一致。
  • 中介式
    • 概念
      • 中介式指的是将状态信息存储到中介数据库;如图:
        在这里插入图片描述

        数据库[主库]将状态信息存储到中介数据库,而备机则去中介数据库获取信息,如果获取的信息不正常,则备机变为主库;如果出问题的主库恢复正常后,主库发送状态到中介数据为正常,则以变为主库的备机从数据库中获取状态信息为正常,则变为备机。

五、主主方案


  • 概念
    • 主主方案主要是应对与写的并发量大于读的并发量的方案;如图:
      在这里插入图片描述

六、主从集群 [一主多从]


  • 概念

    • 主从集群指的是一个主库多个从库;如图:
      在这里插入图片描述
  • 缺陷

    • 主节点存储的数据超过磁盘的容量了,造成数据溢出的问题。
    • 当主库出现了不可用,则从库也将无法使用。

七、分散式集群 [多主多从]


  • 概念
    • 分散存储就是将不同的数据分别存储在不同的主机上;如图:
      在这里插入图片描述

      当客户端发送到请求[读数据,写数据]到服务端,服务端接收到请求[读数据,写数据],通过数据分配器将请求负载分配到不同的主机上。

  • 场景
    • 适用于大数据场景
    • 高并发读写的场景

八、总结

  • 数据库可用性方案[单体数据库,mysql redis 等 ]
    • 主备方案:数据量小,并发量小
    • 主从方案:数据量小,读并发量大,写并发量小
    • 主主方案:数据量小,读并发量小,写并发量大
      总结:数量小的时候,根据并发量的大小来选择具体的方案。
posted @ 2022-10-22 09:47  神农写代码  阅读(102)  评论(0编辑  收藏  举报