MySQL想要做读写分离,目前可以有三种解决方式:
1 程序修改mysql操作类
优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配
缺点:自己维护更新,增减服务器在代码处理
2 amoeba
http://sourceforge.net/projects/amoeba/files/
优点:直接实现读写分离和负载均衡,不用修改代码,有很灵活的数据解决方案
缺点:自己分配账户,和后端数据库权限管理独立,权限处理不够灵活
3 mysql-proxy
优点:直接实现读写分离和负载均衡,不用修改代码,master和slave用一样的帐号
缺点:字符集问题,lua语言编程,还只是alpha版本,时间消耗有点高
如果你不想安装软件来解决读写分离,那就要在程序里控制。
如果你想安装软件来解决读写分离,那amoeba是不错的,mysql-proxy不太建议,目前只有alpha版本,效率还不太理想,amoeba目前在阿里巴巴是内部项目,正在生产环境使用的。
Amoeba For Mysql
Amoeba For Mysql 是 Amoeba项目的子项目。要使用Amoeba For Mysql您必须确保您已符合所有
先决条件:
1. Java SE 1.5 或以上 Amoeba 框架是基于JDK1.5开发的,采用了JDK1.5的特性。
2. 支持Mysql 协议版本10(mysql 4.1以后的版本)。
3. 您的网络环境至少运行有一个mysql 4.1以上的服务