05.19 面试官问数据库部署方案该怎么回答

看到这个标题,不妨假设自己在面试,当面试官问你这个问题的时候,你该如何回答?

简单主从

面试官问数据库部署方案该怎么回答

简单主从方案

这种方案部署简单,自己在业务代码里面区分主从数据库,在业务简单数据规模小的情况下,维护成本也比较低,常见于初创公司。据我所知,赶集网最初就是采用这种方案。

带有中间件的数据库同步方案

面试官问数据库部署方案该怎么回答

带有中间件的主从同步

程序连接时使用同样的连接字符串,程序中也不用区分读写情况,dbproxy一般会由dba维护。这种部署模式也存在一定问题。例如,写后立即读,如果主从同步没有完成,那么可能读取不到数据。解决方案有两个:1. dbproxy判定当前是写流量后,后续n毫秒内的读请求走主库 2. dbproxy判定当前流量是写流量后,同一连接后续所有的流量走主库。百度的数据库架构大部分都是这种模式。

mysql-mmm(Master-Master Replication mananger for mysql)

面试官问数据库部署方案该怎么回答

mmm解决方案

高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。Monitor节点是单点,可以结合Keepalived实现高可用。

mha(Master High Availability)

面试官问数据库部署方案该怎么回答

mha部署方案

在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。


分享到:


相關文章: