Amoeba(变形虫)项目,专注分布式数据库proxy开发。座落与Client、DBServer(s)之间,对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。
主要解决:
降低数据切分带来的复杂多数据库结构
提供切分规则并降低数据切分规则给应用带来的影响
降低db与客户端的连接数
读写分离
2、为什么要用Amoeba目前要实现mysql的主从读写分离,主要有以下几种方案:
通过程序实现,网上很多现成的代码,比较复杂,如果添加从服务器要更改多台服务器的代码。
通过mysql-proxy来实现,由于mysql-proxy的主从读写分离是通过lua脚本来实现,目前lua的脚本的开发跟不上节奏,而写没有完美的现成的脚本,因此导致用于生产环境的话风险比较大,据网上很多人说mysql-proxy的性能不高。
自己开发接口实现,这种方案门槛高,开发成本高,不是一般的小公司能承担得起。
利用阿里巴巴的开源项目Amoeba来实现,具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库,并且安装配置非常简单。国产的开源软件,应该支持,目前正在使用,不发表太多结论,一切等测试完再发表结论吧,哈哈!
3、amoeba安装首先安装jdk,直接使用rpm包安装即可
下载amoeba对应的版本