背景
一般情况下,对数据库的读和写都在同一个数据库服务器中操作时,业务系统性能会降低。为了提升业务系统性能,优化用户体验,可以通过读写分离来减轻主数据库的负载。本篇文章分别从应用层和系统层来介绍读写分离的实现方法。
应用层中直接使用代码实现,在进入Service之前,使用AOP来做出判断,是使用写库还是读库,判断依据可以根据方法名判断,比如说以query、find、get等开头的就走读库,其他的走写库。
1、多数据源切换方便,由程序自动完成。
2、不需要引入中间件。
3、理论上支持任何数据库。
1、由程序员完成,运维参与不到。
2、不能做到动态增加数据源。
方式一:使用DRDS实现
读写分离 - 云原生分布式数据库 PolarDB-X - 阿里云
方式二:使用中间件MySQL-proxy实现
本教程使用MySQL-proxy实现读写分离。
MySQL Proxy是一个处于Client端和MySQL server端之间的简单程序,它可以监测、分析或改变它们的通信。它使用灵活,没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。
本文探讨了如何通过应用层和系统层实现数据库读写分离,以提升业务性能。应用层可通过代码判断读写操作,系统层推荐使用DRDS或MySQL-proxy。DRDS允许无缝切换数据源,而MySQL-proxy作为透明代理,可动态添加数据源,但可能影响性能。文中还详细介绍了主从同步、MySQL-proxy的配置与测试,确保读写分离的有效实施。
最低0.47元/天 解锁文章

1011

被折叠的 条评论
为什么被折叠?



