采用Atlas mysql 读写分离工具

前阵子测试了360开源出来的Atlas,总的来说挺好的,这里先标记下,备用。
听说amoeba也不错,大牛还给我推荐了一篇文章,也先留着。

测试了下atlas的性能,挺给力的。

在并发2000时,atlas会提示I have no server backend,closing connection。判断应为mysql不能及时提供空闲连接导致,但atlas并未出现任何瓶颈。但是,atlas自身没有断开mysql连接的设置,完全依赖于mysql自身的超时时间。

其读写分离策略是除了完全的读请求,其余的都会将请求发给主库。

测试脚本:

#!/bin/bash

#***For pressure test Atlas***

date +"%H:%M:%S"

for ((i=0;i<1500;i++));do

{

num=`echo $RANDOM`

mysql -ushanks -p51cto -h192.168.122.100 -P8306 zabbix -e "insert into test_atlas values(\"${num}\")"

} &

done

date +"%H:%M:%S"

配置文件:

[mysql-proxy]

plugins = admin,proxy

admin-username = admin

admin-password = [email protected]

admin-lua-script = /usr/local/mysql-proxy/lib/mysql-proxy/lua/admin.lua

proxy-backend-addresses = 172.16.220.242:3306

proxy-read-only-backend-addresses = 172.16.220.243:[email protected]

daemon = true

keepalive = true

event-threads = 4

log-level = message

log-path = /usr/local/mysql-proxy/log

instance = test

proxy-address = 0.0.0.0:8306

admin-address = 0.0.0.0:8307

min-idle-connections = 128

#tables = person.mt.id.3

#pwds = 8Z9V7iLZoR0=

charset = utf8

时间: 2024-11-02 10:04:40

采用Atlas mysql 读写分离工具的相关文章

采用Atlas实现MySQL读写分离

##采用Atlas实现MySQL读写分离 一.基础介绍 ========================================================================================== 1.背景描述 目前我们的高可用DB的代理层采用的是360开源的Atlas,从上线以来,已稳定运行2个多月.无论是从性能上,还是稳定性上, 相比其他开源组件(amoeba.cobar.MaxScale.MySQL-Proxy等),还是很出色的. 当初我们之所以选择

Atlas+keepalived实现mysql读写分离

本文主要介绍atlas安装.mysql读写分离的配置.mysql主从配置及利用keepalived解决atlas单点故障. Atlas介绍 Atlas是基于mysql-proxy做的二次开发.Atlas是一个位于应用程序与MySQL之间中间件.在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB.Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯.它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,

[记录]MySQL读写分离(Atlas和MySQL-proxy)

MySQL读写分离(Atlas和MySQL-proxy) 一.阿里云使用Atlas从外网访问MySQL(RDS) (同样的方式修改配置文件可以实现代理也可以实现读写分离,具体看使用场景) 1.在跳板机上使用Atals中转访问RDS不会影响效率,不要认为使用Atals后连接数据库会慢,连接数会疯狂占用,事实情况是刚好相反. Atlas不处理主从数据库数据同步,只是个负载均衡的连接池工具,主从同步请使用其他工具另行实现,本文只为了外网访问RDS(流量免费),实现连接池,有效利用RDS连接数. Atl

搭建基于MySQL的读写分离工具Amoeba

搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.20 多实例加主从复制 10.10.10.30 Amoeba服务器 10.10.10.40 客户端(最后测试使用) 1.首先搭建MySQL的主从复制(不在多提):需要注意的是:在主从库上需要创建一个用户,在主库上创建的用户为amoeba,权限是create,update,insert,delete:

使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置

参考博文: MySQL-(Master-Slave)配置  本人按照博友北在北方的配置已成功  我使用的是 mysql5.6.27版本. 使用Atlas实现MySQL读写分离

专职DBA-基于MHA高可用搭建MySQL读写分离架构-Atlas

专职DBA-基于MHA高可用搭建MySQL读写分离架构-Atlas 1.Atlas介绍 Atlas是由Qihoo360,Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目. 它是在mysql-proxy-0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性. 360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条. 下载地址:https://github.com/Qihoo360/Atlas/releases 注意: 1.Atlas只能安装运

Atlas做mysql读写分离

Atlas做mysql读写分离: Atlas奇虎360的一个开源中间代理,是在mysql-proxy 0.8.2的基础上进行了优化,增加一些新的功能特性. wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm rpm -i Atlas-2.2.1.el6.x86_64.rpm 安装路径为/usr/local/mysql-proxy /usr/local/mysql-pro

Mysql-Proxy实现mysql读写分离、负载均衡 (转)

在mysql中实现读写分离.负载均衡,用Mysql-Proxy是很容易的事,不过大型处理对于性能方面还有待提高,主要配置步骤如下: 1.1. mysql-proxy安装 MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负 载平衡.对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL Proxy的监听端口即可.当

mysql读写分离 mysql-proxy

一.介绍 MySQL代理是一个介于MySQL客户端和MySQL服务器之间的简单程序,可用来监视.分析或者传输他们之间的通讯.他的灵活性允许你最大限度的使用它,这些包括负载平衡.容错 .分析查询和修正等等: MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡.对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MyS