目录
3、创建haproxy的配置文件,并配置rabbitmq集群的负载均衡
5、访问192.168.78.200:8101/haproxy,查看当前haproxy状态
TCP和HTTP反向代理
SSL/TSL服务器
可以针对HTTP请求添加cookie,进行路由后端服务器
可平衡负载至后端服务器,并支持持久连接
支持所有主服务器故障切换至备用服务器
支持专用端口实现监控服务
支持不影响现有连接情况下停止接收新连接请求
可以在双向添加,修改或删除HTTP报文首部
响应报文压缩
支持基于pattern实现连接请求的访问控制
通过特定的URI为授权用户提供详细的状态信息
正向代理
缓存代理
WEB服务
不支持UDP协议
单机性能–lvs
- # 创建存放haproxy 编排文件的目录
- mkdir -p /data/docker-compose/haproxy
-
- # 创建存放haproxy和keepalived同步文件的目录
- mkdir -p /data/docker-data/haproxy/keepalived
- # 升级 pip
- pip3 install --upgrade pip
- # 指定 docker-compose 版本安装
- pip install docker-compose==1.22
- # 验证是否安装成功
- docker-compose -v
- mkdir -p /data/docker-dockerfile/haproxy
- cd /data/docker-dockerfile/haproxy
- vi Dockerfile
-
- FROM haproxy:2.4
- USER root
- RUN apt-get update \
- && apt-get install -y net-tools inetutils-ping vim iproute2 keepalived \
- && echo root:123456 | chpasswd
- docker build -t haproxy2.4 .
- docker rmi docker.io/haproxy:2.4
容器名 | IP | 映射端口 | 用户名及密码 |
---|---|---|---|
haproxy_101 | 170.200.9.101 | 8101:8100,5601:5600 | root,123456 |
haproxy_102 | 170.200.9.102 | 8102:8100,5602:5600 | root,123456 |
- cd /data/docker-compose/haproxy
- vi docker-compose.yaml
-
- version: "3.6"
- services:
- haproxy_server_101:
- image: haproxy2.4
- ports:
- - "8101:8100"
- - "5601:5600"
- networks:
- haproxy:
- ipv4_address: 170.200.9.101
- privileged: true
- volumes:
- - /data/docker-data/haproxy:/haproxy
- - /data/docker-data/haproxy/keepalived/101:/keepalived
- container_name: haproxy_101
- command: haproxy -f /haproxy/haproxy.cfg
-
- haproxy_server_102:
- image: haproxy2.4
- ports:
- - "8102:8100"
- - "5602:5600"
- networks:
- haproxy:
- ipv4_address: 170.200.9.102
- privileged: true
- volumes:
- - /data/docker-data/haproxy:/haproxy
- - /data/docker-data/haproxy/keepalived/102:/keepalived
- container_name: haproxy_102
- command: haproxy -f /haproxy/haproxy.cfg
-
- networks:
- haproxy:
- driver: bridge
- ipam:
- config:
- - subnet: "170.200.9.0/24"
- cd /data/docker-data/haproxy
- vi haproxy.cfg
-
- global
- #日志输出配置,所有日志都记录在本机,通过local0输出
- log 127.0.0.1 local0 info
- #最大连接数
- maxconn 10240
- #以守护进程方式运行
- daemon
-
- defaults
- #应用全局的日志配置
- log global
- mode http
- #超时配置
- timeout connect 5000
- timeout client 5000
- timeout server 5000
- timeout check 2000
-
- #haproxy的客户页面
- listen http_front
- bind 0.0.0.0:8100
- mode http
- option httplog
- stats uri /haproxy
- # web界面的用户和密码
- stats auth root:123456
- stats refresh 5s
- stats enable
-
- #负载均衡配置
- listen rabbimq_ha
- bind 0.0.0.0:5600
- option tcplog
- mode tcp
- #轮询算法
- balance roundrobin
- server mq1 192.168.78.200:5671 check inter 5000 rise 2 fall 2
- server mq2 192.168.78.200:5672 check inter 5000 rise 2 fall 2
- server mq3 192.168.78.200:5673 check inter 5000 rise 2 fall 2
- cd /data/docker-compose/haproxy
- docker-compose up -d
到这里,就已经完成了haproxy的构建,并且将rabbitmq集群的负载均衡也配置完毕了。
这里虽然在haproxy中安装了keepalived,但在本文中并没有使用到keepalived,后面会单独开一章来写keepalived,到时候会用到。