1.驱动实现 com.mysql.jdbc.replicationDriver sharding-jdbc
2.mybatis plugin(sqltype:select,update,insert)
3.spring Aop+mybatis plugin+注解
4.spring动态数据源+mybatis plugin
abstractRoutingDataSource+mybatis plugin拦截器
5.中间件 mysql-proxy, mycat
优点:
@1、源程序不需要做任何改动就可以实现读写分离
@2、动态添加数据源不重启程序
缺点:
@1.程序依赖于中间件,会导致切换数据库变得困难
@2.由中间件做了中转代理,性能有所下降