基于docker的haproxy搭建测试

haproxy本篇只做简单介绍,进行安装及简单的测试,深入学习可参考官方文档https://www.haproxy.org/。

`简介`
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。
`haproxy和nginx对比`
nginx
使用花括号,层级化的配置文件结构
除了自带的map和if语句可以实现简单逻辑,原生支持js/perl脚本,非官方支持lua
除了做负载均衡,还可以做静态web服务器,缓存服务器(haproxy不行)
模块化,按需编译,可选第三方的扩展模块
haproxy
定义和引用,命令式的配置结构
支持acl
做负载均衡比nginx好
提供状态统计监控页面
官方支持会话保持,健康检查等,可媲美硬件F5
不易于扩展,缺乏第三方资源
总结
二者现在都支持http、tcp、udp的负载均衡,nginx采用文档结构表示配置关系,看起来比较清晰,haproxy采用定义和引用。
nginx的master-works参数,多进程,每个进程单线程多核cpu充分利用;haproxy多线程,单线程可以实现超高性能。
做反向代理方面二者都具超高性能。

1、启动容器

启动haproxy容器,同时启动tomcat和apache,用于测试

创建容器
2、进入容器安装服务

#haproxy
docker exec -it haproxy_haproxy_1 bash
apt update
apt upgrade
apt install haproxy -y
#tocmat
docker exec -it haproxy_tomcat_1 bash
#拷贝安装包
docker cp jdk-8u141-linux-x64.tar.gz haproxy_tomcat_1:/usr/local/
docker cp apache-tomcat-8.5.41.tar.gz haproxy_tomcat_1:/usr/local/
#安装
tar xvf jdk-8u141-linux-x64.tar.gz
echo ' export JAVA_HOME=/usr/local/jdk1.8.0_141/' >> /etc/profile
echo ' export JAVA_BIN=/usr/local/jdk1.8.0_141/bin' >> /etc/profile
echo ' export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo ' export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
echo ' export JAVA_HOME JAVA_BIN PATH CLASSPATH' >> /etc/profile
source /etc/profile
tar xvf apache-tomcat-8.5.41.tar.gz
#apache
docker exec -it haproxy_apache_1 bash
apt update
apt upgrade
apt install apache2 -y

3、配置haproxy

vim /etc/haproxy/haproxy.cfg
#监控状态页面配置
listen admin_stats
       bind *:8000                           
       log 127.0.0.1 local0 err
       stats refresh 30s                   
       stats uri /haproxy-status       
       stats realm welcome login    
       stats auth admin:redhat        
       stats hide-version                  
       stats admin if TRUE
#代理配置
frontend test
       bind *:5000
       default_backend test_server
#负载配置
backend test_server
    server test_server1 127.0.0.1:80 check
    server test_server2 127.0.0.1:8080 check

4、启动服务

#haproxy
docker exec -it haproxy_haproxy_1 bash
/etc/init.d/haproxy start

在这里插入图片描述

#tomcat
docker exec -it haproxy_tomcat_1 bash
/usr/local/apache-tomcat-8.5.41/bin/startup.sh

在这里插入图片描述

#apache
docker exec -it haproxy_apache_1 bash
/etc/init.d/apache2 start

在这里插入图片描述
5、监控页面登录查看

http://IP:Port/haproxy-status

在这里插入图片描述
6、测试负载均衡

http://Ip:Port

apache
在这里插入图片描述
tomcat
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值