HAProxy快速入门(五)—— 负载均衡测试环境搭建

HAproxy研究与应用(千万级并发、负载均衡) 一、Haproxy介绍   HAProxy提供高可用性负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。  HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合 阅读详情

前面章节简要介绍了HAProxy支持的几种负载均衡算法,比如轮换和根据ip等。

光说不练假把式,我们今天就通过实战来了解一下常见的几种算法。

本章节服务器用到的是Tomcat,为了快速部署多台服务器,我们使用了docker。

 

安装docker

docker的安装和使用不是我们这节的重点,所以这里我们简要介绍一下。

1. 列举可安装的docker安装包:# yum list | grep docker

cockpit-docker.x86_64                       195.6-1.el7.centos         extras   
docker.x86_64                               2:1.13.1-162.git64e9980.el7.centos
docker-client.x86_64                        2:1.13.1-162.git64e9980.el7.centos
docker-client-latest.x86_64                 1.13.1-58.git87f2fab.el7.centos
docker-common.x86_64                        2:1.13.1-162.git64e9980.el7.centos
docker-distribution.x86_64                  2.6.2-2.git48294d9.el7     extras   
docker-latest.x86_64                        1.13.1-58.git87f2fab.el7.centos

这里我们就要第二个。

2. 安装docker:# yum install -y docker

看到以下日志,表明安装成功了。

Installed:
  docker.x86_64 2:1.13.1-162.git64e9980.el7.centos

Dependency Installed:

  ...

Complete!

3. 查看docker版本:# docker version

 我们这里安装的是1.13.1,因为不是测试docker,虽然版本旧了点但问题不大。

 

安装部署tomcat

接下来我们用docker安装Tomcat

1. 启动docker服务:# service docker start

2. 查找tomcat镜像:# docker search tomcat

3. 拉取Tomcat镜像:# docker pull docker.io/tomcat

   注意国内下载可能会非常慢,半天pull不下来。我们可以配置国内的镜像地址

   编辑vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

重新加载:# systemctl daemon-reload

重启docker:# systemctl restart docker

再重新pull,飞一般的速度。。。

4. 查看我们下载下来的image:# docker images | grep tomcat

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat    latest              2ae23eb477aa        4 days ago          647 MB

5. 在/root目录下新建三个文件夹test1、test2、test3,里面分别新建一个文件index.html

    内容分别是"<h1>Server 1</h1>"、"<h1>Server 3</h1>"、"<h1>Server 3</h1>"

6. 用docker启动3个tomcat容器:

# docker run --name tomcat1 -p 8081:8080 -v /root/test1:/usr/local/tomcat/webapps/ROOT -d tomcat
# docker run --name tomcat2 -p 8082:8080 -v /root/test2:/usr/local/tomcat/webapps/ROOT -d tomcat
# docker run --name tomcat3 -p 8083:8080 -v /root/test3:/usr/local/tomcat/webapps/ROOT -d tomcat

7. 访问测试:分别访问localhost:8081\localhost:8082\localhost:8083,就看到对应的Server N了!

到这里,3台Tomcat服务器搭建完成。

用docker部署应用是不是非常简便呢。

 

配置HAProxy

前面的3台tomcat是相互独立的,要访问只能切换端口访问。接下来我们利用HAProxy,将他们联系起来。

1. 配置haproxy的配置文件,默认是:/etc/haproxy/haproxy.cfg

2. 修改backend部分,服务器列表中将我们3台tomcat加上。

global
        daemon
        maxconn 256

defaults
        mode http
        timeout connect 5000ms
        timeout client 50000ms
        timeout server 50000ms

frontend http-in
        bind *:80
        default_backend servers

backend servers
        server tomcat1 127.0.0.1:8081
        server tomcat2 127.0.0.1:8082
        server tomcat3 127.0.0.1:8083

3. 重启haproxy:# systemctl restart haproxy

4. 访问测试

   现在我们通过haproxy监听的80端口访问,http://localhost. 访问的结果如下:

  1. 第一次刷新:打印Server 1
  2. 第二次刷新:打印Server 2
  3. 第三次刷新:打印Server 3
  4. 第四次刷新:打印Server 1
  5. 第五次刷新:打印Server 2
  6. 。。。。。。

3台Tomcat轮流处理我们的请求,这也印证了前面章节说的:HAProxy默认使用了轮询的负载均衡策略。

到这里,我们负载均衡测试环境搭建完毕,同时也校验了HAProxy默认的轮询策略。

接下来的章节,会继续使用当前环境,对HAProxy的负载均衡进行更深入的探索和学习。

haproxy的七层代理和四层代理的实现,详细过程实战版 实现haproxy的七层代理和四层代理 阅读详情

相关推荐

Linux之系统之配置HAProxy服务统计页面

Linux之系统之配置HAProxy服务统计页面

jks212454的博客 305

Haproxy 介绍与参数详解

haproxy的配置文件由两部分组成:全局设置和对代理的设定,共分为五段:globaldefaultsfrontendbackendlisten。global: 全局配置,主要用于定义全局参数,属于进程级的配置,通常和操作系统配置有关。default: 配置默认参数,这些参数可以被用到frontend,backend,Listen组件。frontend:接收请求的前端虚拟节点,frontend可以指定具体使用后端的backend。

白切鸡 PYTHON 3592

PythonOCC基础使用:建模——倒角倒圆(二维+三维)

占坑

weixin_42755384的博客 4638

[Linux] haproxy地址映射实现性能测试

haproxy地址映射

皮卡丘在充电 589

STM32F407+LAN8720A+LwIP实战:FreeModbus TCP从机功能开发指南

本文详细介绍了基于STM32F407和LAN8720A硬件平台,结合LwIP协议栈实现FreeModbus TCP从机功能的开发指南。内容涵盖硬件连接、LwIP移植、FreeModbus TCP从机实现、任务调度及调试技巧,为工业控制领域的以太网通信开发提供实用参考。

weixin_29190651的博客 546

C#精准获取Windows已安装应用清单的完整方案

Windows已安装应用识别是IT资产管理、安全合规与自动化运维的基础能力。其核心原理在于突破文件系统表象,以注册表为可信数据源,分层解析HKLM/HKCU、64位/32位视图及MSI Products路径中的元数据。技术价值体现在可验证(如过滤SystemComponent=1)、可关联(通过ProductCode绑定补丁与许可证)、可操作(启动路径二次验证+卸载命令沙箱执行)。典型应用场景包括终端合规审计、软件资产清查、静默卸载脚本开发及多版本应用聚合分析。本文聚焦C#原生实现,覆盖注册表四路采集、La

weixin_33552698的博客 634

HAProxy从零开始到掌握

点击上方 "编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文Don’t let anyone steal your dreams. Follow...

程序员小乐 6472

开关电源设计实战:如何用AP值快速选型磁芯(附计算公式推导)

本文为开关电源工程师提供了基于AP值的磁芯快速选型实战指南。文章深入解析了AP值作为磁芯‘功率吞吐量’指标的核心物理意义,并通过详细的公式推导和24W反激电源设计实例,手把手演示如何利用AP值计算公式,结合电流密度、窗口利用率等关键参数,从众多磁芯型号中高效筛选出合适型号,同时强调了选型后的关键校验步骤与常见误区。

weixin_29234239的博客 871

从零开始掌握 HAProxy 负载均衡器

推荐大家关注一个公众号点击上方 "编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文Two things always to be remembe...

程序员小乐 459

ArcGIS基础:城市交通网络构建及设施服务分析(一):道路数据处理与拓扑操作

首先需要加载数据, 1:选择这个数据库:,右键导入,选择导入单个要素,弹出“要素类至要素类” 2:输出位置(导入的数据是CAD格式数据)。 3:输出要素类为道路。 4:字段只保留道路类型字段。 这个操作是分类合并各级道路数据。 1:通过属性选择各类道路数据。 2:比如此类都是“干道”。 3:编辑器下来,然后合并即可。 得到如图所示,需要用到三个字段。 上面这个操作是打断道路相交线。 1:选中所有数据。 2:找到高级编辑中的打断相交线。 3:确定即可。 下面进行拓扑检查,虽然我们已经进行合并和打断相交.

yuanYW7556的博客 2万+

《计算机视觉:从入门到精通》技术手册 第1章 计算机视觉概述与历史演进

视觉感知与机器视觉在工程实践中常被混用,但二者存在本质差异。视觉感知强调对光学信号的语义理解与场景解释,核心在于从二维投影重建三维世界的物理与语义属性。该领域关注遮挡处理、光照变化、材质反射等复杂因素的建模,其目标是实现类似人类视觉系统的场景理解能力。机器视觉则侧重于工业场景中的精密测量与控制,通常基于结构化光源、已知几何约束与标定参数,执行边缘检测、尺寸测量、位置定位等任务。前者面向开放环境的通用理解,后者面向受控环境的精确执行。

u012133341的博客 268

Nginx 作为负载均衡器

fill:#333;color:#333;color:#333;fill:none;HTTP 请求健康检查健康不健康轮询最少连接IP哈希转发请求转发请求转发请求处理请求处理请求处理请求返回响应HTTP 响应客户端Nginx 负载均衡器检查实例健康状态负载均衡算法移除不健康实例选择下一个实例选择活跃连接最少的实例基于客户端IP选择实例选定实例Spring Boot 实例 1Spring Boot 实例 2Spring Boot 实例 3生成响应。

qq_35915504的博客 1081

Uniapp返回上一页并刷新:亲测有效的 goBack 实现技巧!

这个技巧在实际开发中非常常用,特别适合表单提交后返回列表刷新这类场景。比起依赖onShow或复杂的vuex状态同步,这种方式更直接、好维护,也不容易出 bug。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1840

Haproxy负载均衡测试环境-快速学习

Haproxy测试环境研究学习环境基础docker run运行环境web环境:Haproxy tcp代理抓包测试备注 环境基础 key value IP 192.168.0.110 基础环境 docker 镜像 haproxy、nginx docker run运行环境 web环境: nginx-1、nginx-2 docker run --name nginx-1 -it -d -p 80:80 nginx docker run --name nginx-2 -it -d -p

qq_37497397的博客 327

告别繁琐!VS Code 下OpenClaw零配置上手秘籍

本文介绍了在VSCode环境下零配置上手OpenClaw开发工具的最佳实践。首先详细说明了VSCode和OpenClaw插件的安装步骤,包括获取安装包、配置环境变量等准备工作。然后重点讲解了核心配置流程:设置OpenClaw路径、调整工作区参数、添加自定义代码片段等优化开发体验的方法。通过创建测试项目验证配置有效性,并针对常见的路径错误、运行报错等问题提供了排查方案。本文旨在帮助开发者快速搭建高效的OpenClaw开发环境,充分发挥VSCode与OpenClaw的组合优势,提升开发效率。无论是新手还是资深开

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 526

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HAProxy简介及其负载均衡场景应用教程

一、HAProxy简介 HAProxy是一种免费的、非常快速且可靠的解决方案,它提供了高可用性、负载平衡和对TCP和基于http的应用程序的代理。它特别适用于非常高的流量网站, 并为世界上访问量最大的网站提供了强大的力量。多年来,它已经成为事实上的标准的opensource负载平衡器,现在随大多数主流Linux发行版本一起发布, 并且经常在云平台上默认部署。 代理的作用:web缓存(加速)、反向代理、内容路由(根据流量及内容类型等将请求转发至特定服务器)、转码器(将后端服务器的内容压缩后传输给clien

IT- 研究者 1890

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

linux haproxy 脚本,haproxy部署脚本

最近为了测试haproxy的负载均衡,打算搭建几台haproxy测试机,但我又懒想直接用脚本搭建起就可以使用,以后要测试的时候,也可以直接就用脚本搞定.下面来看脚本吧.cat /root/soft_shell/haproxy_install.sh#!/bin/bash#install haproxy#20160224 by rocdk890#variablesdir=/usr/localha_di...

weixin_39796152的博客 191

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HAProxy vs Nginx:负载均衡性能对比测试

的云环境特别适合做这类对比测试,不需要自己搭建多台服务器,一键就能创建测试集群。他们的负载均衡模板拿来就能用,省去了很多配置时间。特别是做性能压测时,可以快速扩容后端节点,实测比本地虚拟机方便很多。最近在优化公司项目的负载均衡方案时,对比了HAProxy和Nginx的性能表现。经过一周的测试,整理出一套完整的对比数据,分享给有同样需求的开发者参考。对于需要快速验证架构方案的开发者,这种开箱即用的体验确实能提升不少效率。我测试时发现他们的网络延迟很低,跑出来的数据比本地环境更接近真实生产场景。

SilvermistRaven28的博客 699

HAProxy与Nginx负载均衡性能全面评测

摘要:负载均衡测试对比报告显示,HAProxy与Nginx在性能表现上各具优势。测试结果表明,HAProxy在纯转发架构下吞吐量比Nginx高15-25%,内存占用节省40%,更适合高并发场景;而Nginx在Web一体化处理和动态流量治理方面更灵活。关键发现包括:HAProxy的LeastConn算法延迟波动仅±3ms,启用TCPFastOpen后长连接性能提升18%;Nginx需调优keepalive_timeout避免端口耗尽。建议金融级低延迟系统选择HAProxy,全栈Web服务优先Nginx,测试团

2501_94445272的博客 540

AI赋能负载均衡:用快马平台5分钟打造智能HAProxy配置工具

前端服务器建议设置提升性能生产环境务必配置stats页面密码认证使用errorfile自定义维护页面提升用户体验日志分割推荐用logrotate按天归档在InsCode(快马)平台做这类运维工具特别省心,不用操心服务器搭建,写完代码点个按钮就能生成可访问的在线服务。他们的AI辅助也帮了大忙,有次忘记health check参数怎么写,在对话框里描述需求就直接给出了标准语法。对于需要快速验证想法的场景,这种即开即用的体验确实高效。

AgatePanther34的博客 730

Haproxy+keepalived实现高可用负载均衡

一、搭建Haproxy环境   1、下载安装依赖包 yum install wget gcc gcc-c++ autoconf automake make   2、下载安装haproxy  wget http://pkgs.fedoraproject.org/repo/pkgs/haproxy/haproxy1.4.24.tar.gz/86422620faa9759907563d5

dandan2zhuzhu的专栏 3387

负载均衡方案对比(LVS、HAProxy、OSPF)

负载均衡方案对比(LVS、HAProxy、OSPF)  一.         方案概述 1.   LVS LVS(Linux Virtual Server)使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性。 特点: 1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最

wdt3385的专栏 6770

haproxy+keepalived(主从模式)实现高可用环境的简单配置

一、HAProxy简介 代理的作用:web缓存(加速)、反向代理、内容路由(根据流量及内容类型等将请求转发至特定服务器)、转码器(将后端服务器的内容压缩后传输给client端)。缓存的作用:减少冗余内容传输;节省带宽、缓解网络瓶颈;降低了对原始服务器的请求压力,降低了传输延迟。 HAProxy是一种免费的、非常快速且可靠的解决方案,它提供了高可用性、负载平衡和对TC...

weixin_33779515的博客 405

MQTT粘性会话负载均衡优化与HAProxy配置实践

负载均衡技术是分布式系统中的关键组件,通过合理分配请求提升系统整体性能。粘性会话(Sticky Session)作为高级负载均衡策略,通过保持客户端与特定服务节点的绑定关系,有效避免会话迁移带来的性能损耗。在物联网场景中,MQTT协议依赖稳定的设备连接,粘性会话能显著提升重连效率——实测显示10万设备重连时间从47秒降至9秒。HAProxy作为高性能负载均衡器,通过stick-table配置可实现基于MQTT ClientID的会话保持,配合Proxy Protocol保障真实IP透传。该技术已广泛应用于车

weixin_30512965的博客 290

HAproxy实现web站点的动静分离

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别 适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的 运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。 H...

小树苗 537

手把手教你用VMware快速搭建高可用CentOS集群:3节点负载均衡环境(Keepalived+HAProxy)15分钟部署完毕

15分钟快速搭建高可用CentOS集群!手把手指导VMware安装CentOS并配置3节点负载均衡环境,基于Keepalived+HAProxy实现故障自动切换与流量分发,适用于生产级Web服务部署。步骤清晰、命令可复用、零基础友好,值得收藏。

CodeNexus的博客 192
上一篇: HAProxy快速入门(四)—— 配置详解
下一篇: HAProxy快速入门(六)—— 管理HAProxy
postnull咖啡
博客等级 码龄10年 1026粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值