数据库主从复制和读写分离的原理及应用

      今天五一,祝大家开心。

       

      数据库一主多从,是很经典的结构,对于容灾、可扩展性和高可用性,都是有好处的。

      一主多从,依赖于主从复制,下面是主从复制的逻辑图:

     

      主从复制后,可以认为,从库和主库的内容是"一致"的。 然而,由于主从复制需要时间,向主库写入数据后,如果直接从从库读取,很可能读不到最新的值,但是,对读实时性要求不高的业务场景,读写分离是没有问题的。

       读写分离的逻辑图如下:

     

      最近,项目中的一个读数据库操作,遇到了一些性能瓶颈,在主库上,有一个select操作经常有毛刺。经评估,在一些场景下,可以进行读写分离,于是将大量的读请求调度到从库,在主库上留下写请求和少量的读请求,可以看到,主从分离后,主库上的少量读请求耗时立即下降且稳定(数据已经脱敏):

       而且,实际也发现,调读到从库上后,大量读请求的耗时也有下降。自然地,主库上的写请求的性能也会提升。读写分离的好处,可见一斑。

       另外,对于应用服务来说,也可以做读写分离。比如,某服务既提供读接口,又提供写接口,我们可以让主调方做读写分离,这样就能针对读和写进行不同的伸缩策略,提升了扩展的弹性。

       

       数据库的主从复制和读写分离,先说到这里了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值