amoeba学习

一.amoeba的安装

1.安装好java

2.将amoeba的包解压到一个目录就可以了,我是解压到/usr/local/amoeba-mysql-binary-2.1.0/ 目录

3.进入bin目录,运行:./amoeba 

如果看到:amoeba start|stop 就代表成功了

二.amoeba的配制 

1.单机器代理实现

a.修改conf/dbServers.xml ,修改schema及password为真实的情况

b.修改conf/amoeba.xml,修改里的port及password为代理的情况

c.nohup ./amoeba start & 启动

d. mysql -uroot -p代理的密码 -h127.0.0.1 -P8066 如果登录成功则单机器代理成功了

 2.主从代理实现

三.使用mysql jdbc提供的负载均衡配置再解决amoeba服务器的单点问题

1. jdbc连接字附串中的loadbalance说明

 load balance方式有两种负载均衡算法,一种是随机式的轮询算法,另一种是最短响应时间算法

例句: <driver-url>jdbc:mysql:loadbalance://127.0.0.1:8066,10.20.238.164:8066/test</driver-url>

 如果两台amoeba都正常时,会将访问的压力分载到 127.0.0.1,10.20.238.164两个机器上,还可以加上roundRobinLoadBalance=true参数,使用roundRobin轮询算法,若是其中一台机器down掉以后,将会自动将不能访问的数据库服务器 踢除,如果还原后将继续进行压力分载。

2. jdbc连接字附串中的replication说明

当后端MYSQL服务器群是master-slave单向一主N从的同步复制机制时,再使用loadbalance方式就会有问题了,因为如果有insert、update等写操作改变了从机的数据就麻烦了,从机不会将变化复制到主机,因此这种情况下需要实现“主读写、从只读”的模式,为了达到这个目的可以使用replication方式, 

如下所示:<driver-url>jdbc:mysql:replication://master,slave1,slave2,slave3/test</driver-url>

replication方式可以很安全的实现写操作只发送到主机执行,而从机只会接收到读操作。

原文地址:https://www.cnblogs.com/cerxp/p/2352597.html