mysql读写分离_基于奇虎360中间件Atlas,实现MySql主从读写分离

图/文:迷神

Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。

项目地址:https://github.com/Qihoo360/

今天我们要实现的就是 基于奇虎360中间件Atlas,实现MySql主从数据库读写分离。atlas是数据库的中间件,程序只需要连接atlas入口,无需读写单独指定,atlas决定在那个数据库进行读或者写操作,可以实现mysql的读写分离。

042fe9ecca5eebdb744dd44dbf4a1288.png

具体Mysql主从读写分离介绍原理,我就不详细说明了,网上一堆原理,大家可以自行查看,我们直接具体实施部署。

基础环境:

主库:192.168.132.121

从库:192.168.132.122

可以搞一个一主多从,也可以给atlas设置单个独立的机器,目前实验为了省麻烦把atlas配置在192.168.132.122上,先设置atlas对主端和从端都有数据库的读写权限。

主库执行:mysql> grant all privileges on *.* to 'atlas'@'192.168.132.122' identified by '1234567';mysql> flush privileges;从库执行:mysql> grant all privileges on *.* to 'atlas'@'192.168.132.122' identified by '1234567'; mysql> flush privileges;

安装atlas

Atlas下载地址

https://github.com/Qihoo360/Atlas/releases

[root@slave ~]# cd /usr/local/src/[root@slave src]# yum install epel-release -y[root@slave src]# yum install openssl-devel autoconf gcc glib2 glib2-devel libevent-devel flex-devel flex jemalloc jemalloc-devel lua-devel -y[root@slave src]# wget https://github.com/Qihoo360/Atlas/releases/download/sharding-1.0.1/Atlas-sharding_1.0.1-el6.x86_64.rpm[root@slave src]# rpm -ivh Atlas-sharding_1.0.1-el6.x86_64.rpm [root@slave src]# cd /usr/local/mysql-proxy/[root@slave mysql-proxy]# ./bin/mysql-proxy --version
be8021ef11a41b5c3905075fb5b93984.png

atlas配置

先密码加密:

[root@slave mysql-proxy]# /usr/local/mysql-proxy/bin/encrypt  '1234567'[root@slave mysql-proxy]# tj+W8xntBW8=  #  密文

具体配置如下:

0100d6413b0318f912d3dd44555c5edb.png

启动atlas

[root@slave mysql-proxy]# /usr/local/mysql-proxy/bin/mysql-proxyd atlas start

然后我们测试使用了,具体使用和原生的Mysql一样的,只不过,我们这次配置文件是,使用了3316端口对外使用

mysql -uatlas -p1234567 -h 192.168.132.122 -P3316   -e 'select * from test;'其他执行insert是一样的,和普通的执行插入一样,具体自己测试啦。

atlas性能还是不错,当然相比直连的性能还是有所损失的,官方也给出了测试结果。官方同时测试了sysbench不同并发线程下,完成每个SQL操作平均时间(单位:ms,时间越短,系统性能越好)。具体测试数据 对比如下所示:

035e6f7d6310915b21aa2789ab61f53d.png

测试

剩下的基本上大家自行尝试读写分离的验证哈。有问题欢迎给我留言,觉得不错,记得分享,关注迷神哦,后续将会分享更多精彩内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值