标签:spring
概要:
为了减轻数据库的压力,一般会使用数据库主从(master/slave)的方式,但是这种方式会给应用程序带来一定的麻烦,比如说,应用程序如何做到把数据写到master库,而读取数据的时候,从slave库读取。如果应用程序判断失误,把数据写入到slave库,会给系统造成致命的打击。
解决读写分离的方案很多,常用的有SQL解析、动态设置数据源。SQL解析主要是通过分析sql语句是insert/select/update /delete中的哪一种,从而对应选择主从。而动态设置数据源,则是通过拦截方法名称的方式来决定主从的,例如:save*(),insert*() 形式的方法使用master库,select()开头的,使用slave库。蛮多公司会使用在方法上标上自定义的@Master、@Slave之类的标签 来选择主从,也有公司直接就调用setxxMaster,setxxSlave之类的代码进行主从选择。
具体请看我的csdn博客:
本文出自 “11676085” 博客,请务必保留此出处http://11686085.blog.51cto.com/11676085/1793862
标签:spring
原文地址:http://11686085.blog.51cto.com/11676085/1793862