Atlas源代码用C语言编写,它对于Web Server相当于是DB,相对于DB相当于是Client,如果把Atlas的逻辑放到Web Server程序里去处理,这样会大大增加Web Server程序的复杂度,同时Web Server和DB之间的耦合度也相当高,因为只要DB增加/减少服务,Web Server就有可能要发生代码改变,若代码不改变,就得通过中间关系表与心跳机制来维护Server之间的关系,这样会带来性能的损耗,而Atlas是架设在Web Server与DB之间的一个中间件,Web Server与DB之间的耦合关系放到了Atlas来处理,既做到了灵活也保留了性能,这也是Atlas存在的价值。
Atlas支持表的水平切分,支持读写分离,对数据实时性要求较高的项目可以在select语句前增加/*master*/强制读主库
mysql master:192.168.200.101
mysql slave :192.168.200.102
atlas :192.168.200.103
atlas有两个port,分别为
工作端口: proxy-address项配置,例如proxy-address = 0.0.0.0:1234代表客户端应该使用1234这个端口连接Atlas来发送SQL请求。
管理端口: admin-address项配置,例如admin-address = 0.0.0.0:2345代表DBA应该使用2345这个端口连接Atlas来执行运维管理操作。
二.安装Atlas
bin: 该目录存放atlas启动程序,还有加密脚本
conf: 该目录则存放atlas.conf配置档,可以有多个实例
lib: 该目录存放程序的一些库文件及依赖文件
log: 该目录则存放实例产生的日志
安装位置:
/usr/local/mysql-proxy
配置文件:
/usr/local/mysql-proxy/conf/test.cnf
全部主机关闭防火墙和SElinux
修改主机名(200.101)
(200.102)
(200.103)
主从分别用yum安装mysql
主从分别修改配置文件并启动服务
配置主从复制
master操作:
查看file和pos值
slave操作:
下载地址:https://github.com/Qihoo360/Atlas/releases
如果报错:
给Atlas默认用户授权
master和slave操作: