千家信息网

Amoeba中怎么实现MySQL负载均衡和故障转移

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Amoeba中怎么实现MySQL负载均衡和故障转移,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Amoeba(变形虫,读:
千家信息网最后更新 2026年11月01日Amoeba中怎么实现MySQL负载均衡和故障转移

这篇文章将为大家详细讲解有关Amoeba中怎么实现MySQL负载均衡和故障转移,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Amoeba(变形虫,读:阿米巴)项目,专注分布式数据库proxy开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。
主要解决:
• 降低数据切分带来的复杂多数据库结构
• 提供切分规则并降低数据切分规则给应用带来的影响
• 降低db 与客户端的连接数[@more@]

1.3 安装Amoeba
Amoeba 框架是基于JDK1.5开发的,采用了JDK1.5的特性。支持Mysql 协议版本10(mysql 4.1以后的版本),因此,使用Amoeba需要安装JDK1.5或以上版本,MySQL需要4.1以上版本。
系统及环境版本:
Linux版本:Linux localhost.localdomain 2.6.9-67.ELsmp #1 SMP Fri Nov 16 12:48:03 EST 2007 i686 i686 i386 GNU/Linux
JDK版本:jdk-6u16-linux-i586-rpm.bin

1.到sun公司网站下载包jdk1.6.0_16-linux-i586.rpm
2.安装:rpm -ivh jdk1.6.0_16-linux-i586.rpm
3.安装后之后需要配置环境变量。
vi /etc/profile
JAVA_HOME=/usr/java/jdk1.6.0_16
JAVA_BIN=/usr/java/jdk1.6.0.16/bin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
使之生效
source /etc/profile

注意,需要把jdk名字修改成您所下载的JDK当前版本。
下一步是必须的,不然它总是调用FC6自带的jdk1.4

创建链接
  #cd /usr/bin
  #ln -s -f /usr/local/jdk1.5.0_05/jre/bin/java
  #ln -s -f /usr/local/jdk1.5.0_05/bin/javac

查看java版本:java -version
vi Hello.java
再编一个java小程序:
public class Hello{
public static void main(String[] args){
System.out.println("hello"); }
}
>javac Hello.java
>java Hello
出现 Hello即表明成功

安装好JDK后,再运行amoeba for mysql。

1.到amoeba开发者博客下载最新版本amoeba-mysql-1.0.2-BETA
2.配置amoeba.xml和rule.xml文件,具体参考相关资料
3.切换到amoeba-mysql-1.0.2-BETA目录,输入
>./bin/amoeba
即可(后台运行)
1.4 配置Amoeba
Amoeba的配置文件是XML格式的,使用起来很方便。主要有4个文件:
 Amoeba.xml是主配置文件,配置所有数据源及Amoeba自身的参数。
 rule.xml,配置所有Query路由规则的信息:
 functionMap.xml,配置用于解析Query中的函数所对应的Java实现类。
 nullFunctionMap.xml,配置路由规则中需要使用到的特定函数的实现类。

详细的配置说明请查看官方文档。

1.5 测试Amoeba对性能的影响
Amoeba需要分析MySQL协议数据包,因此在性能上必定会有折损。以下针对Amoeba的性能折损情况做个测试,测试方法是对单机直接访问与通过Amoeba对单机访问做个对比。
Amoeba只配置一台server,如Router部分配置如下



1500
master1


master1
master1

true


直接访问:
sysbench --num-threads=20 --max-requests=10000
--test=oltp --oltp-read-only=on --db-ps-mode=disable --oltp-skip-trx
--mysql-table-engine=innodb --oltp-table-size=100000
--mysql-host=192.168.100.2 -mysql-port=3306 --mysql-db=configdb run

OLTP test statistics:
queries performed:
read: 140000
write: 0
other: 0
total: 140000
transactions: 10000 (751.32 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 140000 (10518.52 per sec.)
other operations: 0 (0.00 per sec.)

Test execution summary:
total time: 13.3099s
total number of events: 10000
total time taken by event execution: 265.8874
per-request statistics:
min: 4.61ms
avg: 26.59ms
max: 80.70ms
approx. 95 percentile: 45.12ms

Threads fairness:
events (avg/stddev): 500.0000/7.78
execution time (avg/stddev): 13.2944/0.01



sysbench --num-threads=20 --max-requests=10000
--test=oltp --oltp-read-only=on --db-ps-mode=disable --oltp-skip-trx
--mysql-table-engine=innodb --oltp-table-size=100000
--mysql-host=192.168.100.2 -mysql-port=8066 --mysql-db=configdb run

OLTP test statistics:
queries performed:
read: 140000
write: 0
other: 0
total: 140000
transactions: 10000 (303.17 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 140000 (4244.42 per sec.)
other operations: 0 (0.00 per sec.)

Test execution summary:
total time: 32.9845s
total number of events: 10000
total time taken by event execution: 658.9933
per-request statistics:
min: 6.59ms
avg: 65.90ms
max: 10229.09ms
approx. 95 percentile: 109.86ms

Threads fairness:
events (avg/stddev): 500.0000/66.18
execution time (avg/stddev): 32.9497/0.01

从测试结果来看,Amoeba对性能的折损60%左右。如果再加上rule和functionMap的配置,我相信性能折损会更高。不过Amoeba对机器的性能要求很高,如果把Amoeba独立部署在一台性能较强的机器上,相信会有很大提升,另外,我们也可以同时使用多台Amoeba,用LVS来实现Amoeba自身的负载均衡和故障转换。

关于Amoeba中怎么实现MySQL负载均衡和故障转移就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

配置 版本 数据 性能 均衡 数据库 文件 规则 测试 故障 路由 开发 内容 函数 单机 多台 客户 文章 更多 机器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 互联网科技的 科技与互联网发展 小马过河互联网科技 互联网科技美容 国外互联网科技网站 中国的互联网科技企业的崛起 互联网科技寓意 受益于互联网科技的高速发展 武汉健翔互联网络科技有限公司 赶超互联网科技 微信多开 注册互联网科技公司经营范围大全 恒生互联网科技业指数调整周期 陕西云淼互联网科技公司 东营紫格互联网科技 南京一网一红互联网科技有限公司 萌小萌互联网科技河南有限公司 数字科技和互联网金融哪个好 互联网科技创新方面的资料 互联网科技创业有什么好项目 互联网巨头反垄断金融科技 深圳艾佳互联网科技 互联网科技大会 国外互联网科技网站 深圳国际航运科技和互联网 央行互联网金融科技公司 苏州五指互联网络科技有限 互联网时代的科技公司 每天都有哪些好的互联网科技 杭州科技互联网公司有哪些
0