下文给大家带来proxy负载均衡及读写分离详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。
创新互联服务电话:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联网页制作领域十载,包括成都自上料搅拌车等多个领域拥有多年的网站设计经验,选择创新互联,为网站保驾护航。如何在客户端应用的时候,路由语句.
一般用两种方法
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
看了以上关于proxy负载均衡及读写分离详解,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。