首页 > 数据库技术 > 详细

SpringBoot+MyBatis+MySQL读写分离(实例)

时间:2020-11-16 09:38:16      阅读:28      评论:0      收藏:0      [点我收藏+]

https://mp.weixin.qq.com/s/1vTbllmZkHRnuk7_xR2DIg

 

 

1. 引言

读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP。

然而,应用程序层面去做读写分离最大的弱点(不足之处)在于无法动态增加数据库节点,因为数据源配置都是写在配置中的,新增数据库意味着新加一个数据源,必然改配置,并重启应用。当然,好处就是相对简单。

技术分享图片


2. AbstractRoutingDataSource

基于特定的查找key路由到特定的数据源。它内部维护了一组目标数据源,并且做了路由key与目标数据源之间的映射,提供基于key查找数据源的方法。

技术分享图片


3. 实践

关于配置请参考:

https://www.cnblogs.com/cjsblog/p/9706370.html

SpringBoot+MyBatis+MySQL读写分离(实例)

原文:https://www.cnblogs.com/gzhbk/p/13983353.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!