网站建设资讯

NEWS

网站建设资讯

Atlas实现读写分离

该Atlas方案的实现需要基于MHA架构
(而MHA架构需要 实现MySQL主从复制且开启GTID特性)

创新互联是一家专注于网站设计制作、成都做网站与策划设计,港口网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:港口等地区。港口做网站价格咨询:13518219792

常见方案介绍:

Mysql-proxy(oracle)
Mysql-router(oracle)
Atlas (Qihoo 360)
Atlas-sharding (Qihoo 360)
Cobar(是阿里巴巴(B2B)部门开发)
Mycat(基于阿里开源的Cobar产品而研发)
TDDL Smart Client的方式(淘宝)
DRDS 阿里云的产品
Oceanus(58同城数据库中间件)
OneProxy(原支付宝首席架构师楼方鑫开发 )
vitess(谷歌开发的数据库中间件)
Heisenberg(百度)
TSharding(蘑菇街白辉)
Xx-dbproxy(金山的Kingshard、当当网的sharding-jdbc )
amoeba

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

源码 Github: https://github.com/Qihoo360/Atlas

Atlas主要功能

读写分离
从库负载均衡
自动分表
IP过滤
SQL语句黑白名单
DBA可平滑上下线DB
自动摘除宕机的DB

Atlas是一个位于前端应用与后端MySQL数据库之间的中间件,它使得应用程序员无需再关心读写分离、分表等与MySQL相关的细节,可以专注于编写业务逻辑,同时使得DBA的运维工作对前端应用透明,上下线DB前端应用无感知。

下载地址:https://github.com/Qihoo360/Atlas/releases

注意:
1、Atlas只能安装运行在64位的系统上
2、Centos 5.X安装 Atlas-XX.el5.x86_64.rpm,Centos 6.X安装Atlas-XX.el6.x86_64.rpm。
3、后端mysql版本应大于5.1,建议使用Mysql 5.6以上

1、安装软件
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm

2、修改配置

cd /usr/local/mysql-proxy/

vim /usr/local/mysql-proxy/conf/test.cnf
[mysql-proxy]
admin-username = user
admin-password = pwd
proxy-backend-addresses = 10.0.0.55:3306
proxy-read-only-backend-addresses = 10.0.0.51:3306,10.0.0.52:3306
pwds = repl:3yb5jEku5h5=,mha:O2jBXONX098=
daemon = true
keepalive = true
event-threads = 8
log-level = message
log-path = /usr/local/mysql-proxy/log
sql-log=ON
proxy-address = 0.0.0.0:33060
admin-address = 0.0.0.0:2345
charset=utf8

/usr/local/mysql-proxy/bin/encrypt  123      ---->制作加密密码

3、启动atlas

/usr/local/mysql-proxy/bin/mysql-proxyd test start
ps -ef |grep proxy

功能使用

测试读写分离:

读的测试

mysql -uroot -p123 -h20.0.0.53 -P33060 
show variables like 'server_id';

写操作测试:

设置两个从节点只读
set global read_only=1;

连接测试

mysql -umha -pmha -h20.0.0.53 -P33060
create database db1;
连接管理接口:
mysql -uuser -ppwd -h227.0.0.1 -P2345

打印帮助:
mysql> select * from help;

动态添加删除节点:
REMOVE BACKEND 3;
ADD SLAVE 10.0.0.10:3308;
SAVE CONFIG;

测试读写分离:
mysql -uuser -ppwd -h227.0.0.1 –P33060
show variables like "server_id";

网站栏目:Atlas实现读写分离
文章路径:http://cdweb.net/article/pijgjp.html