这种方式直接在代码级别实现了mysql 读写分离
很简单,只需要改一下配置文件,就搞定了,是不是很嗨?
jdbc.driverClassName=com.mysql.jdbc.ReplicationDriver
jdbc.url=jdbc:mysql:replication://120.22.66.50:3307,120.22.66.51:3308/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull
只要你的程序用spring 配置了事务,查询方法 设置为readonly,基本什么代码都不需要改,启动一个tomcat即可实现读写分离
如果你的代码无法实施这套方案,可以参考我的另一篇文章,使用mysql中间件Atlas 实现读写分离,或者更简单粗暴的办法,直接启动两个tomcat,配置不同的数据库,然后前端通过Nginx来实现读写分离,这个方案对编码有要求,保证写操作都是POST,读操作都是GET,通过proxy配置分配到两个服务器,否则,够你蛋疼的。