Amoeba for mysql实现mysql读写分离

11 年 ago jony Amoeba for mysql实现mysql读写分离已关闭评论

一、Amoeba 是什么

Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。

主要解决:

  • 降低 数据切分带来的复杂多数据库结构
  • 提供切分规则并降低 数据切分规则 给应用带来的影响
  • 降低db 与客户端的连接数
  • 读写分离

 

二、为什么要用Amoeba

目前要实现mysql的主从读写分离,主要有以下几种方案:

1、  通过程序实现,网上很多现成的代码,比较复杂,如果添加从服务器要更改多台服务器的代码。

2、  通过mysql-proxy来实现,由于mysql-proxy的主从读写分离是通过lua脚本来实现,目前lua的脚本的开发跟不上节奏,而写没有完美的现成的脚本,因此导致用于生产环境的话风险比较大,据网上很多人说mysql-proxy的性能不高不稳定。

3、  自己开发接口实现,这种方案门槛高,开发成本高,不是一般的小公司能承担得起。

4、  利用阿里巴巴的开源项目Amoeba来实现,具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库,并且安装配置非常简单。国产的开源软件,应该支持,目前正在使用,不发表太多结论,一切等测试完再发表结论吧

参考:https://www.centos.bz/2012/05/amoeba-for-mysql/

http://blog.chinaunix.net/uid-20639775-id-154600.html

http://blog.chinaunix.net/uid-20728886-id-138200.html

另一种读写分离的方案:

http://ximenfeibing.blog.51cto.com/8809812/1666084