amoeba高可用mysql_MySQL Amoeba读写分离

Amoeba 简介

Amoeba for mysql可作为mysql的分布式数据库前端代理层,它主要在应用层访问mysql的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、query filter、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 在amoeba上面你能够完成多数据源的高可用、负载均衡、数据切片的功能。

Amoeba for mysql不足:

目前还不支持事务

暂时不支持存储过程

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

暂时不支持分库分表,amoeba目前只做到分数据库实例,每个被切分的节点需要保持库表结构一致

安装Amoeba

shell> tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /db/tool/amoeba

shell> vi /etc/profile

=========================================================

export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk #使用系统自带JDK

export AMOEBA_HOME=/db/tool/amoeba

PATH=$AMOEBA_HOME/bin:$JAVA_HOME/bin:$PATH

=========================================================

shell> source /etc/profile

shell> java -version

java version "1.6.0_22"

OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.el6-i386)

OpenJDK Server VM (build 20.0-b11, mixed mode)

安装完成后,你可以通过命令确定Amoeba是否成功安装。

shell> amoeba

amoeba start|stop

配置Amoeba for mysql

$AMOEBA_HOME/conf/dbServers.xml:存储代理的数据库连接方式,如:主机IP、端口、Amoeba使用的用户名和密码等

$AMOEBA_HOME/conf/amoeba.xml:定义了Amoeba代理的相关配置

$AMOEBA_HOME/conf/functionMap.xml:数据库函数名和函数解析处理的关系,如:UNIX_TIMESTAMP()、SYSDATE()等等

$AMOEBA_HOME/conf/rule.xml:数据切分规则配置

$AMOEBA_HOME/conf/ruleFunctionMap.xml:rule.xml中自定义的函数

$AMOEBA_HOME/conf/access_list.conf:制定可访问以及拒绝访问的主机IP地址

$AMOEBA_HOME/conf/log4j.xml:Amoeba允许用户配置输出日志级别以及方式,配置方法使用log4j的文件格式

shell> vi /db/tool/amoeba/conf/dbServers.xml

========================================================================================

${defaultManager}

64

128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值