在MHA高可用架构下继续进行Atlas读写分离
搭建MHA高可用架构,参考https://blog.csdn.net/workey/article/details/108755672
Atlas官方链接: https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md
Atlas下载链接: https://github.com/Qihoo360/Atlas/releases
主要功能
读写分离、从库负载均衡、自动分表、IP过滤
SQL语句黑白名单、DBA可平滑上下线DB、自动摘除宕机的DB
Atlas相对于官方MySQL-Proxy的优势
1.将主流程中所有Lua代码用C重写,Lua仅用于管理接口
2.重写网络模型、线程模型
3.实现了真正意义上的连接池
4.优化了锁机制,性能提高数十倍
Atlas是一个位于应用程序与MySQL之间的中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。也就是说前端应用填写Atlas的proxy-address信息,而Atlas的proxy-backend-addresses填写虚IP信息,APP只要能连中间件就行,中间件负责连数据库。
下载安装atlas
链接:https://pan.baidu.com/s/1WeTe2XY_153W8g1frQqmYA
提取码:1234
192.168.0.60 LAMP
192.168.0.70 主
192.168.0.80 从(mha备主)
192.168.0.90 从
192.168.0.90 在从库上,安装atlas
wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm
配置Atlas配置文件
cd /usr/local/mysql-proxy/conf/
/usr/local/mysql-proxy/bin/encrypt 123456 #把123456这个密码进行加密。
/iZxz+0GRoA=
编辑配置文件
vim /usr/local/mysql-proxy/conf/test.cnf
#(非必备,根据实际情况配置)从库的IP和端口,@后面的数字代表权重,用来作负载均衡,若省略则默认为1,可设置多项,用逗号分隔。如果想让主库也能分担读请求的话,只需要将主库信息加入到下面的配置项中,这里192.168.0.80当前是从库,但是当70主库宕机,80就为主库,那么80主库也会进行读请求。
proxy-read-only-backend-addresses = 192.168.0.80:3306@1,192.168.0.90:3306@2