proxy负载均衡、读写分离
如何在客户端应用的时候,路由语句.
一般用两种方法
1: 直接在PHP的mysql类做判断,最简单,不用额外加软件
比如discuz论坛.
2:用集群中间件
比如官方的mysql_proxy
,还有国产的中间件 amoeba
原理:不管用了多少mysql,程序都是和proxy通信
实战: mysql 读写分离 ,mysql_proxy实现
下载安装mysql_proxy:
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz
解压后, 该目录包含已经编译好的二进制文件,将解压后的目录移动到/user/local/
查看帮助文档:
先要proxy连接各mysql,先做个负载均衡:
在另一台机器上连接proxy(注意,端口是4040):
然后就可以操作数据库了,打开多个客户端,连接proxy 4040,分别insert数据:
(注意:proxy的均衡不是语句方面的均衡,而是连接上的均衡。比如:连接若干个连接池,当前连的是哪个mysql就操作哪个。语句层面的均衡,容易带来数据不一致)
读写分离:
(-b 192.168.0.199:指定199服务器mysql为写。-r 192.168.0.200:3306:指定200服务器mysql为读。-s /user/locl/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua:指定读写分析脚本)
注意,脚本中有个设置,它有个最小,最大连接,:
实战: mysql 读写分离 ,mysql_proxy实现
下载安装mysql_proxy:
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit.tar.gz
解压后, 该目录包含已经编译好的二进制文件 .
1: 利用mysql_proxy实现负载均衡
执行mysql_proxy
./mysql-proxy-path/bin/mysql-proxy \
--proxy-backend-addresses=192.168.1.199:3306 \
--proxy-backend-addresses=192.168.1.200:3306
2: 连接mysql_proxy,用mysql客户就可以,因为proxy是mysql的前端代理
注意proxy的端口是4040
mysql -h “proxy的IP” -P 4040 -u username -p password
在连接上之后,做sql查询,却总是往某1台mysql server来发送------负载均衡没体现出来?
答: 不是没体现出来.
均衡不是体现在sql语句,一会请求mysqlA服,一会请求mysqlB服.
均衡是体现”连接”的均衡上.,
mysql_proxy会把连接mysql服务器的tcp/IP连接缓存进连接池,以提高性能.
在缓存池里, 缓存的连接大致是平均分配在每台mysql服务器上.
但具体的每一个连接,始终连某台服务器.
./bin/mysql-proxy \
--proxy-backend-addresses=192.168.1.199:3306 \
--proxy-read-only-backend-addresses=192.168.1.200:3306 \
--proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
简写:
./bin/mysql-proxy -b=192.168.0.199:3306 -r=192.168.0.200:3306 -s=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
转载于:https://blog.51cto.com/5660061/2376895
proxy负载均衡、读写分离相关推荐
- HAproxy负载均衡动静分离实现及配置详解
HAproxy负载均衡动静分离实现及配置详解 HAproxy的介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAP ...
- mysql+读的负载均衡_MySQL Proxy快速实现读写分离以及负载均衡
作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 1. 安装 下载已经编译好的安装包,或者预编译安装包均可,在这里 ...
- 负载与读写分离图片服务器集群模型
对于绝大多数网站,图片资源是一个非常重要的元素.社区论坛里面图片相册,电子商务线上产品展示图,移动端应用图片分享功能等.都在说互联网正在处于读图时代,各大中小型网站都需要保持良好的图片处理能力.需要支 ...
- MySQL Proxy实现数据库读写分离
为什么80%的码农都做不了架构师?>>> 可以将master的数据复制分布到多个slave上,然后可以利用slave来分担master的读压力.那么对于前台应用来说,就要考虑如 ...
- 四层负载均衡 动静分离和资源分离 Rewrite rewrite伪静态实例
文章目录 四层负载均衡 四层负载均衡特点 查看四层负载均衡语法 四层负载均衡配置 优化配置文件 四层负载均衡日志配置 nginx的TCP负载均衡---端口转发 动静分离 单台的动静分离 多台机器动静分 ...
- Nginx快速入门(安装 负载均衡 动静分离 主备 原理)
什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...
- proxy实现 mysql 读写分离
实现 mysql 读写分离 图解: 环境: iptables 和 selinux 关闭 proxy:test2 172.25.1.2 Master: test3 172.25.1.3 Slave:te ...
- MySQL Proxy 安装与读写分离体验
一直想等到BETA版出来再试验的,可还是经不住诱惑阿,下午终于有时间测试一下了. (本文参考地址:http://blog.chinaunix.net/u/8111/showart.php?id=451 ...
- Nginx的动态代理,负载均衡,动静分离的简单使用
nginx 一 Nginx介绍 1.1 为什么要学习Nginx 问题1: 客户端到底要将请求发送那台服务器 问题2:所有客户端的请求都发送给了服务器1 问题3:客户端发送的请求可能是申请静态资源的,也 ...
最新文章
- Worktile CTO 管理经验分享:如何在研发团队落地OKR?研发团队目标如何管理?
- UA MATH567 高维统计II 随机向量2 各向同性的随机向量
- ORACLE将表中的数据恢复到某一个时间点
- C++ternary search三元搜索的实现算法(附完整源码)
- Django(part45)--forms模块
- 使用SAP UI5 Web Components开发React应用
- python网站攻击脚本_Python scapy 实现一个简易 arp 攻击脚本
- 微信小程序销毁某一注册函数_微信小程序 生命周期函数详解
- MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)
- 关于51CTO民意调查之自主添加google广告代码的几点意见
- vba 位 前 相似 筛选_Excel VBA复制筛选的当前区域可见单元格,但排除最后3列
- 音频,视频和视觉效果
- 飞鱼星路由器如何限制外网访问服务器网站,飞鱼星路由器如何限制禁止指定电脑上网 | 192.168.1.1登陆页面...
- 编程入门: 自学编程从哪里开始? [初学参考]
- python开源报表工具_12个最好的开源报表工具
- oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
- C/C++路面导航系统[2023-01-16]
- 笔画输入法教程――如何学习笔画输入法
- 统计中的“不相关”与“线性无关”
- 一文教你分清持续集成,持续交付,持续部署