这种方式直接在代码级别实现了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配置分配到两个服务器,否则,够你蛋疼的。
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>