一直使用Nginx做负载均衡都是七层的负载,最近刚好搭建一个mysql主从架构,一写多读,多读正好需要用到负载。
虽说HAProxy可以做到,但是没怎么接触,国外是很流行,但是国内还是nginx比较多。今天试了一下还挺简单的,做个笔记吧。
服务器环境
1 | nginx: 192.168.254.103 |
编译nginx,添加stream模块
nginx默认没有加上四层负载模块,需要编译时加上
1 | cd nginx-1.10.3 |
给mysql建立同样的账号
1 | mysql> grant all privileges to *.* on 'test'@'192.168.254.%' identified by 'PASSWORD'; |
Nginx四层负载均衡配置
1 | vim /etc/nginx.conf |
重启nginx1
nginx -s reload
测试
首先在101这台机器上分别连接102,104两台mysql,查看一下test.test中的数据
确认两边机器数据
再在101两次使用mysql客户端连接103,看看是否达到负载效果