如何在客户端应用的时候,路由语句.

一般用两种方法

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负载均衡、读写分离相关推荐

  1. HAproxy负载均衡动静分离实现及配置详解

     HAproxy负载均衡动静分离实现及配置详解 HAproxy的介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAP ...

  2. mysql+读的负载均衡_MySQL Proxy快速实现读写分离以及负载均衡

    作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 1. 安装 下载已经编译好的安装包,或者预编译安装包均可,在这里 ...

  3. 负载与读写分离图片服务器集群模型

    对于绝大多数网站,图片资源是一个非常重要的元素.社区论坛里面图片相册,电子商务线上产品展示图,移动端应用图片分享功能等.都在说互联网正在处于读图时代,各大中小型网站都需要保持良好的图片处理能力.需要支 ...

  4. MySQL Proxy实现数据库读写分离

    为什么80%的码农都做不了架构师?>>>    可以将master的数据复制分布到多个slave上,然后可以利用slave来分担master的读压力.那么对于前台应用来说,就要考虑如 ...

  5. 四层负载均衡 动静分离和资源分离 Rewrite rewrite伪静态实例

    文章目录 四层负载均衡 四层负载均衡特点 查看四层负载均衡语法 四层负载均衡配置 优化配置文件 四层负载均衡日志配置 nginx的TCP负载均衡---端口转发 动静分离 单台的动静分离 多台机器动静分 ...

  6. Nginx快速入门(安装 负载均衡 动静分离 主备 原理)

    什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ra ...

  7. proxy实现 mysql 读写分离

    实现 mysql 读写分离 图解: 环境: iptables 和 selinux 关闭 proxy:test2 172.25.1.2 Master: test3 172.25.1.3 Slave:te ...

  8. MySQL Proxy 安装与读写分离体验

    一直想等到BETA版出来再试验的,可还是经不住诱惑阿,下午终于有时间测试一下了. (本文参考地址:http://blog.chinaunix.net/u/8111/showart.php?id=451 ...

  9. Nginx的动态代理,负载均衡,动静分离的简单使用

    nginx 一 Nginx介绍 1.1 为什么要学习Nginx 问题1: 客户端到底要将请求发送那台服务器 问题2:所有客户端的请求都发送给了服务器1 问题3:客户端发送的请求可能是申请静态资源的,也 ...

最新文章

  1. Worktile CTO 管理经验分享:如何在研发团队落地OKR?研发团队目标如何管理?
  2. UA MATH567 高维统计II 随机向量2 各向同性的随机向量
  3. ORACLE将表中的数据恢复到某一个时间点
  4. C++ternary search三元搜索的实现算法(附完整源码)
  5. Django(part45)--forms模块
  6. 使用SAP UI5 Web Components开发React应用
  7. python网站攻击脚本_Python scapy 实现一个简易 arp 攻击脚本
  8. 微信小程序销毁某一注册函数_微信小程序 生命周期函数详解
  9. MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)
  10. 关于51CTO民意调查之自主添加google广告代码的几点意见
  11. vba 位 前 相似 筛选_Excel VBA复制筛选的当前区域可见单元格,但排除最后3列
  12. 音频,视频和视觉效果
  13. 飞鱼星路由器如何限制外网访问服务器网站,飞鱼星路由器如何限制禁止指定电脑上网 | 192.168.1.1登陆页面...
  14. 编程入门: 自学编程从哪里开始? [初学参考]
  15. python开源报表工具_12个最好的开源报表工具
  16. oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
  17. C/C++路面导航系统[2023-01-16]
  18. 笔画输入法教程――如何学习笔画输入法
  19. 统计中的“不相关”与“线性无关”
  20. 一文教你分清持续集成,持续交付,持续部署

热门文章

  1. isNotNull与isNotEmpty区别
  2. 打开word或者office程序报错:Microsoft Visual C++ Runtime Library. Runtime Error!
  3. C语言——把结构体数据封装成TLV格式的数据
  4. pip install lxml 总是失败
  5. 每日一问:你了解 Java 虚拟机结构么?
  6. XCode 项目配置说明
  7. 2013.11.13
  8. C# 拖放操作源码详解2
  9. 使用 Eclipse 调试 Java 程序的 10 个技巧
  10. 通用机器学习流程与问题解决架构模板