架构设计(二):数据库复制

时间:2022-12-14 21:09:04

作者:Grey

原文地址:

博客园:架构设计(二):数据库复制

CSDN:架构设计(二):数据库复制

架构设计(一):从单服务器模式到负载均衡设计中提到了数据库类型的选择,

针对大数据量,高可用的场景,数据库复制是一种比较好的方式,其中多个数据库实例之间可以是主/从关系。

主数据库通常只支持写操作。从数据库从主数据库获得数据的副本,只支持读操作。所有修改数据的命令,如插入、删除或更新,必须发送到主数据库。大多数
应用要求的读和写的比例要高得多;因此,系统中的从属数据库的数量通常比主数据库的数量多。以下是主/从数据库架构的示例图。

架构设计(二):数据库复制

以上架构的优势是

  • 更好的性能。在主从模式中,所有的写和更新都发生在主节点;而读操作则分布在从节点上。这种模式提高了性能,因为它允许更多的查询被并行处理。

  • 可靠性。如果你的一个数据库服务器被自然灾害摧毁,数据仍然被保存下来。不需要担心数据丢失,因为数据是在多个地点复制的。

  • 高可用性。通过在不同地点复制数据,即使一个数据库脱机,网站仍然可以运行,因为你可以访问存储在另一个数据库服务器的数据。

以上架构中,存在某个数据库服务挂了的情况,有如下两种情况

  • 某个从数据库挂了,这个时候,如果是还有其他从数据库可用的情况下,读取操作将被重定向到其他健康的从数据库,但是如果挂掉的是唯一的一个从数据库的话,读操作会被暂时引导到主数据库。

  • 某个主数据库挂了,那么一个从数据库将被提升为新的主数据库。所有的数据库操作将暂时在新的主数据库上执行。

结合架构设计(一):从单服务器模式到负载均衡设计中的架构图,增加数据库复制内容以后,整个系统架构设计如下

架构设计(二):数据库复制

参考资料

System Design Interview