什么是变形虫?

  

下文给大家带来什么是Amoeba?,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

Amoeba是什么?

Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发,它位于与Client、DBServer(s)之间,对客户端透明。具有 负载均衡、高可用性、SQL过滤、读写分离、可路由相关的到目标数据库、可并发请求多台数据库合并结果 。

通过Amoeba你能够完成多数据源的高可用、负载均衡、数据切片的功能,目前Amoeba已在很多 企业的生产线上面使用。

什么是Amoeba?

需求案例:
有三个数据库节点分别命名为Master、Slave1、Slave2如下:
Master: Master (只写)
Slaves:Slave1、Slave2 (2个平等的数据库。只读/负载均衡)
案例实现Master、Slaves之间数据库主从复制、读写分离,负载均衡的高可用Mysql架构。

实验架构图:
什么是Amoeba?

系统环境:
什么是Amoeba?

数据库主从复制环境部署
一、mster:(10.100.246.241)
yum install -y mariadb
systemctl enable mariadb
systemctl start mariadb
1、修改mysql配置
找到主数据库的配置文件my.cnf(或者my.ini),我的在/etc/mysql/my.cnf,在[mysqld]部分插入如下两行:
[mysqld]
log-bin=mysql-bin//开启二进制日志
server-id=241//设置server-id
什么是Amoeba?

2、重启数据库并重置
systemctl restart mariadb
mysql_secure_installation
什么是Amoeba?

3、启mysql,创建用于同步的用户账号,并授予对应的权限
打开mysql会话shell>mysql -uname -ppassword
分别创建两个用户,一个用户授权给slave01和slave02,另一个用户授权给amoeba云服务器
slave username:slave ;password:123456
amoeba username:amoeba ;password:123456

mysql>CREATE USER slave@'10.100.246.%' IDENTIFIED BY '123456';
mysql>GRANT REPLICATION SLAVE alt="什么是Amoeba?">

4、查看master状态,记录二进制文件名(mysql-bin.000002)和位置(245)
SHOW MASTER STATUS;
什么是Amoeba?

5、防火墙放行服务及端口
什么是Amoeba?

二、slave01和slave02:(10.100.246.242,10.100.246.243)
注:slave02操作步骤除了my.cnf配置里的server-id号不一样,其余操作步骤和slave01一样
yum install -y mariadb
systemctl enable mariadb
systemctl start mariadb
1、更改mysql配置
找到my.cnf配置文件,添加server-id
[mysqld]
server-id=242  //设置server-id,必须唯一;slave02 server-id=243
什么是Amoeba?

2、重启数据库并重置
systemctl restart mariadb
mysql_secure_installation
什么是Amoeba?

3、打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):
CHANGE MASTER TO MASTER_HOST='10.100.246.241', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=245;
什么是Amoeba?

4、启动slave同步进程,并查看slave状态
mysql>start slave;
mysql>SHOW SLAVE STATUS;
什么是Amoeba?

5、建立amoeba用户,并授予相关权限,为部署amoeba做准备(两台从数据库都要添加)
GRANT ALL PRIVILEGES alt="什么是Amoeba?">

什么是变形虫?