分库分表中读写分离的介绍

Posted 云时代架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分库分表中读写分离的介绍相关的知识,希望对你有一定的参考价值。

- 本文节选自即将出版的《可伸缩服务架构:框架与中间件》一书,作者:李艳鹏、杨彪、李海亮、贾博岩、刘淏。


- 点击文末原文链接可以直达《可伸缩服务架构:框架与中间件》书籍主页。

在实际应用中的绝大多数情况下读操作远大于写操作。mysql提供了读写分离的机制,所有写操作必须对应到主库(Master),读操作可以在主库(Master)和从库(Slave)机器上进行。主库与从库的结构完全一样,一个主库可以有多个从库,甚至在从库下还可以挂从库,这种一主多从的方式可以有效地提高数据库集群的吞吐量。



DBA领域一般配置--或者--两种部署模型。


所有写操作都先在主库上进行,然后异步更新到从库上,所以从主库同步到从库机器有一定的延迟,当系统很繁忙时,延迟问题会更加严重从库机器数量的增加也会使这个问题更严重。


此外,主库是集群的瓶颈,当写操作过多时会严重影响主库的稳定性,如果主库挂掉,则整个集群都将不能正常工作。


根据以上特点,我们总结一些最佳实践如下:


当读操作压力很大时,可以考虑添加从库机器来分解大量读操作带来的压力,但是当从库机器达到一定的数量时,就需要考虑分库来缓解压力了。


当写压力很大时,就必须进行分库操作了。


可能会因为种种原因,集群中的数据库硬件配置等会不一样,某些性能高,某些性能低,这时可以通过程序控制每台机器读写的比重来达到负载均衡,这需要更加复杂的读写分离的路由规则。


END


推荐阅读







【推荐书籍】


分库分表中读写分离的介绍


分库分表中读写分离的介绍      分库分表中读写分离的介绍

        扫码购买

分库分表中读写分离的介绍


以上是关于分库分表中读写分离的介绍的主要内容,如果未能解决你的问题,请参考以下文章

分库分表 ---SpringBoot + ShardingSphere 实现读写分离

分库分表--- SpringBoot+ShardingSphere实现分表+ 读写分离

Mycat 读写分离+分库分表

MyCAT读写分离分库分表

MySQL+MyCat分库分表 读写分离配置MySQL+MyCat分库分表 读写分离配置

ShardingJdbc-分表;分库分表;读写分离;一主多从+分表;一主多从+分库分表;公共表;数据脱敏;分布式事务