2

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

 2 years ago
source link: https://www.cnblogs.com/greyzeng/p/16983527.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

作者:Grey

原文地址:

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

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

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

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

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

img

以上架构的优势是

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

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

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

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

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

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

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

img

System Design Interview


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK