#Amoeba简介
Amoeba(变形虫)项目,该开源框架于2008年开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的 时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发。座落与 Client、DB Server(s)之间,对客户端透明。具有负载均衡、高可用性、SQL 过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果。 通过Amoeba你能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多企业的生产线上面使用
Amoeba优缺点
优点:
1、降低费用,简单易用
2、提高系统整体可用性
3、易于扩展处理能力与系统规模
4、可以直接实现读写分离及负载均衡效果,而不用修改代码
缺点:
1、不支持事务与存储过程
2、暂不支持分库分表,amoeba目前只做到分数据库实例
3、不适合从amoeba导数据的场景或者对大数据量查询的query并不合适(比如一次请求返回10w以上甚至更多数据的场合)
Mysql GTID
Mysql 5.6的新特性之一,加入了全局事务性ID(GTID:Global Transactions Identifier)来强化数据库的主备一致性,故障恢复,以及容错能力;也使得复制功能的配置、监控及管理变得更加易于实现,且更加健壮。
#Mysql主从配置
##环境介绍:
两台Mysql数据库实现主从配置
Amoeba:172.16.14.1
Mysql Master:172.16.14.2
Mysql Slave:172.16.14.3
##在Master服务器上安装并配置Mysql
|
|
|
|
|
|
##在Master服务器上为Slave创建复制用户并测试连接
##启动从节点的复制线程
##在Master服务器创建数据库查看Slave服务器是否更新
至此Mysql 5.6 基于GTID的复制已经完成,下面将介绍如何基于Mysql的主从复制架构做读写分离
#读写分离配置
基于前面做的Mysql主从架构,然后在前端加一台服务器,用于实现Mysql的读写分离,IP地址为:172.16.14.1;由于Amoeba是java程序所研发,所以需要先安装JDK程序
##安装JDK
##安装Amoeba
##授权Mysql用户,用于实现前端Amoeba连接
由于上面授权的主从复制帐号不能同步”mysql”数据库,所以用户名也无法同步,要在两台数据库上同时授权,用户名密码保持一致
|
|
##配置Amoeba
|
|
##启动amoeba服务并连接测试
##连接到amoeba代理服务器,执行插入与查询操作,查看是否实现读写分离
略…