写点什么

模块四:存储架构模式

作者:程序员小张
  • 2023-01-15
    湖南
  • 本文字数:731 字

    阅读完需:约 2 分钟

数据库存储架构

数据库读写分离


复杂度

  1. 复制延迟问题,数据写入主机后同步到其他机器需要时间

  2. 任务分解,将读操作发给不同的从机


复制延迟问题解决方法

  1. 写操作之后,立刻发给从机。(业务入侵大,容易留坑)

  2. 由于延时导致从机读与主机数据不一致,所以读失败后要重读一次。(主机读压力变大)

  3. 关键业务读写主机,非关键业务写主机,读从机。(编码人员容易全部读写主机)推荐


任务分解解决方式

1.采用 sharding-jdbc。

2.中间件封装模式,实现复杂,独立服务器,需要实现连接管理。维护负责,需要独立部署。


数据库分库分表

原理:由于读写分离采用主从机,存在数据库性能和存储瓶颈。

分库

说明:将表分到不同的数据库服务器。

问题及解决方法

join 问题:小表冗余,代码 join,字段冗余

事务问题:2pc 方式,3pc 方式


分表

说明:将一个表拆分成多个表。

适用场景:增长过快,单表超过 2000 条

方式
  • 垂直拆分:按列拆分,提升单机处理性能

  • 水平拆分:按行拆分,提示系统处理性能

问题及解决方法

一个表数据分布多个服务器产生的问题怎么解决,采用 sharding-jdbc 解决。


数据库复制架构

高可用存储衡量指标

rpo:最大可接受的数据损失

rto:恢复时间目标,系统恢复时间

wrt:工作恢复时间,系统业务恢复正常的时间

mtd:rto+wrt,最大可容忍宕机时间



主备复制:正常时候,备机只提供数据复制,将数据备份,只要主机故障时,才会人工切换到备机。

主从复制:正常时候,从机会提供读的功能,而且主机会数据复制到从机上。


主备级联复制:主备的变种,解决的问题为主机故障后,备机都无法用的问题,但是出现另一个问题是备机 1 非常关键,备机 1 宕机,后面的备机机都失败。


主备架构的灾备部署:主要解决城市级别的灾难。


集群选举:当主机宕机时,集群选举会自动选取一台从机作为主机。自动实现故障恢复,rtp 短,可用性更高。

用户头像

还未添加个人签名 2021-05-29 加入

还未添加个人简介

评论

发布
暂无评论
模块四:存储架构模式_程序员小张_InfoQ写作社区