码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库的读写分离 amoeba

时间:2014-07-20 03:14:36      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:数据库   配置文件   mysql   优缺点   

一 amoeba

Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单)。

Amoeba优缺点

优点:

1、降低 数据切分带来的复杂多数据库结构

2、提高系统整体可用性

3、提供切分规则并降低 数据切分规则 给应用带来的影响

4、降低db 与客户端的连接数

5、可以直接实现读写分离及负载均衡效果,而不用修改代码

缺点:

1、不支持事务与存储过程

2、暂不支持分库分表,amoeba目前只做到分数据库实例

3、不适合从amoeba导数据的场景或者对大数据量查询的query并不合适(比如一次请求返回10w以上甚至更多数据的场合)

 

二 数据库读写分离配置

环境

系统 centos 6.4 x86_64

软件 mysql5.6.19              jdk1.7        amoeba2.2

amoeba服务器  192.168.200.19

master                192.168.200.17

slave                    192.168.200.18

主从服务器复制见以前的博客 此处略

 

1 配置JDK

[root@bogon ~]# rpm -ivh jdk-7u60-linux-x64.rpm 
[root@bogon ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
[root@bogon ~]# .  /etc/profile.d/java.sh 
[root@bogon ~]# java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
                       

2 安装amoeba

[root@bogon ~]# mkdir /usr/local/amoeba
[root@bogon ~]# tar -xf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba