作者:Grey
原文地址:
在架构设计(一):从单服务器模式到负载均衡设计中提到了数据库类型的选择,
针对大数据量,高可用的场景,数据库复制是一种比较好的方式,其中多个数据库实例之间可以是主/从关系。
主数据库通常只支持写操作。从数据库从主数据库获得数据的副本,只支持读操作。所有修改数据的命令,如插入、删除或更新,必须发送到主数据库。大多数
应用要求的读和写的比例要高得多;因此,系统中的从属数据库的数量通常比主数据库的数量多。以下是主/从数据库架构的示例图。
以上架构的优势是
更好的性能。在主从模式中,所有的写和更新都发生在主节点;而读操作则分布在从节点上。这种模式提高了性能,因为它允许更多的查询被并行处理。
可靠性。如果你的一个数据库服务器被自然灾害摧毁,数据仍然被保存下来。不需要担心数据丢失,因为数据是在多个地点复制的。
高可用性。通过在不同地点复制数据,即使一个数据库脱机,网站仍然可以运行,因为你可以访问存储在另一个数据库服务器的数据。
以上架构中,存在某个数据库服务挂了的情况,有如下两种情况
某个从数据库挂了,这个时候,如果是还有其他从数据库可用的情况下,读取操作将被重定向到其他健康的从数据库,但是如果挂掉的是唯一的一个从数据库的话,读操作会被暂时引导到主数据库。
某个主数据库挂了,那么一个从数据库将被提升为新的主数据库。所有的数据库操作将暂时在新的主数据库上执行。
结合架构设计(一):从单服务器模式到负载均衡设计中的架构图,增加数据库复制内容以后,整个系统架构设计如下
本文从 Commons DBCP testOnBorrow 的作用机制着手,管中窥豹,从一点去分析数据库连接池获取的过程以及架构分层设计。以下内容会按照每层的作用,贯穿分析整个调用流程。