当前位置: 首页 > news >正文

Haproxy负载均衡介绍即部署

  • haproxy的原理:
    • 提供高可用、负载均衡以及基于TCP(四层)和HTTP(七层)应用的代理,支持虚拟主机,开源可靠的一款软件。
    • 适用于哪些负载特别大的web站点,这些站点通常又需要回话保持和七层处理。
    • haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接。
  • haproxy的特性:
    • 可靠和稳定性非常好,可以与硬件级的F5负载均衡设备相互媲美
    • 支持8中负载均衡算法,也支持会话保持
    • 拥有强大的ACL支持,用于访问控制
    • 支持客户端的keepalived功能,减少客户端与haproxy的多次三次握手导致资源量费,让多个请求在一个tcp连接中完成。
    • 自身带有详细的健康状态检测
    • 日志分析器,可对日志进行分析
  • 配置文件:
    • haproxy.cfg主要有两部分组成:global和proxies配置段
      • global:全局配置
        • 进程及安全配置相关的参数、性能调整相关的参数、Debug参数
      • proxies:代理配置段
        • defaults:为为frontend, backend, listen提供默认配置
        • fronted:前段,相当于nginx,server{}
        • backend:后端,相当于nginx,upstream{}
        • listen:同时拥有前段和后端,适用于一对一环境
  • 本章实验配置:
    • haproxy调度器:192.168.8.8
    • 网站节点1:192.168.8.9
    • 网站节点2:192.168.8.10
      • 1.配置调度器:
        • 安装haproxy:
        • yum -y install haproxy
        • vim /etc/haproxy/haproxy.cfg
          • #定位63行 frontend main *:80 (将后面端口修改为80)
          • 修改backend字段:
            • server real_server1 192.168.8.9:80 check inter 10000 rise 1 fall 3 weight 1
            • server real_server2 192.168.8.10:80 check inter 10000 rise 1 fall 3 weight 1
            • 配置解释:
              • balance (roundrobin):轮询算法
              • check inter 1000:每隔1000毫秒检测一次
              • rise 1:检测成功一次立即加入群集中
              • fall 3:检测失败三次,立即标记为不可用
              • weight 1:权重值为1
        • 启动服务:systemctl start haproxy
      • 2.分别在8.9和8.10服务器上安装nginx,修改网页,测试轮询
        • web1:
          • yum -y install nginx
          • echo "web1" > /usr/share/nginx/html/index.html
          • systemctl start nginx
        • web2:
          • yum -y install nginx
          • echo "web2" > /usr/share/nginx/html/index.html
          • systemctl start nginx
      • 3.使用浏览器访问:
        • http://192.168.8.8
          • 刷新网页,实现了web1和web2之间的切换
      • 4.添加监控页面配置在haproxy.cfg配置文件中:
        • vim /etc/haproxy/haproxy.cfg
          • 添加在最下方即可:
            • listen admin_stats
            • bind *:11001
            • mode http
            • stats refresh 30s
            • stats uri /admin
            • stats realm welcome login\ Haproxy
            • stats auth admin:admin123
            • stats admin if TRUE
          • 重启服务:systemctl restart haproxy
        • 通过访问网页方式,查看监控页面
          • http://192.168.8.8:11001/admin
            • 用户名:admin
            • 密码:admin123
      • 5.配置haproxy session会话保持:
        • vim /etc/haproxy/haproxy.cfg
          • 修改backend 字段更换为:
            • backend app
            • mode http
            • option redispatch
            • option abortonclose
            • balance source
            • cookie SERVERID
            • option httpchk GET /index.html
            • server app1 192.168.8.9:80 cookie server1 check
            • server app2 192.168.8.10:80 cookie server2 check
        • 再次访问http://192.168.8.8
        • 点击刷新发现不会再轮询了,这就代表会话保持实现了

相关文章:

Haproxy负载均衡介绍即部署

haproxy的原理: 提供高可用、负载均衡以及基于TCP(四层)和HTTP(七层)应用的代理,支持虚拟主机,开源可靠的一款软件。 适用于哪些负载特别大的web站点,这些站点通常又需要回话保持和七…...

基于大语言模型的云故障根因分析|顶会EuroSys24论文

*马明华 微软主管研究员 2021年CCF国际AIOps挑战赛程序委员会主席(第四届) 2021年博士毕业于清华大学,2020年在佐治亚理工学院做访问学者。主要研究方向是智能运维(AIOps)、软件可靠性。近年来在ICSE、FSE、ATC、EuroS…...

Windows直接运行python程序

Windows直接运行python程序 一、新建bat脚本二、新建vbs脚本 一、新建bat脚本 新建bat批处理脚本,写入以下内容 echo off call conda activate pytorch python app.pyecho off:在此语句后所有运行的命令都不显示命令行本身,但是本身的指令是…...

经典应用丨光伏行业扫码追溯新标杆,海康机器人AI智能读码器!

去年,光伏发电行业持续高速发展,我国仅在前九个月累计装机521.08GW,同比增长达到45.3%,已成为第二大电源类型超过水电。根据《2023中国与全球光伏发展白皮书》预测,到2030年,中国能够实现国家规划的风电和光…...

逆流而上的选择-积极生活,逆流而上

首先请大家看一个故事 李明坐在公司的开放式办公区,耳边是键盘敲击声的交响乐,眼前是一行行跳跃的代码。他的眼神有些恍惚,显示器的蓝光在他眼镜上反射出时代的光芒,这光芒既耀眼又刺眼。他即将35岁,在这个年纪&#x…...

SpringMVC基础Controller

文章目录 Controller 的编写和配置1. Controller 注解类型2. RequestMapping 注解类型3. 编写请求方法4. 请求参数和路径变量 Controller 的编写和配置 Controller 注解和 RequestMapping 注解是 Spring MVC 最重要的两个注解。 使用基于注解的控制器的优点如下: …...

spark 参数

spark.yarn.executor.memoryOverhead 默认值是384M Configuration - Spark 3.5.1 Documentation...

java调用jacob进行文件转换ppt转pdf或者png

java调用jacob进行文件转换ppt转pdf或者png 前情提要 最近项目上,遇到一个复杂的ppt,最终要求是要将ppt每一页转成图片原本这个是不难,网上一搜一大堆案例,外加我本身也比较精通aspose,那还不是分分钟搞定。结果就是…...

鸿蒙HarmonyOS应用开发之使用DevEco Studio模板构建NDK工程

NDK通过CMake和Ninja编译应用的C/C代码,编译过程如下图所示。 核心编译过程如下: 根据CMake配置脚本以及build-profile.json5中配置的externalNativeOptions构建参数,与缓存中的配置比对后,生成CMake命令并执行CMake。 执行Ninja…...

uniapp流浪动物救助小程序Java宠物领养小程序springboot

uniapp流浪动物救助小程序Java宠物领养小程序springboot 代码40块,需要的私聊 前台基于uniapp小程序 后台管理基于springbootvue前后端分离项目 开发语言:Java 框架:springboot vue JDK版本:JDK1.8(或11&#xf…...

工程企业的未来选择:Java版工程项目管理系统平台与数字化管理的融合

在现代化的工程项目管理中,一套功能全面、操作便捷的系统至关重要。本文将介绍一个基于Spring Cloud和Spring Boot技术的Java版工程项目管理系统,结合Vue和ElementUI实现前后端分离。该系统涵盖了项目管理、合同管理、预警管理、竣工管理、质量管理等多个…...

Vue使用el-statistic和el-card显示大屏中的统计数据

​ 一、页面内容&#xff1a; <el-row :gutter"20"><el-col :span"6"><el-card class"box-card"><div><el-statisticgroup-separator",":precision"2":value"value2":title"tit…...

12.2024

如下图所示&#xff0c;小明用从1开始的正整数“蛇形”填充无限大的矩阵。 1 2 6 7 15 16 28 29... 35 8 14 17 27 30... 4 9 13 18 26 31... 10 12 19 25 32... 11 20 24 33... 21 23 34.. 22 35... 容易看出矩阵第二行第二列中的数是5。请你计算矩阵中第20行第20列的数是多少…...

【学习心得】Jupyter常用操作与魔法方法

一、安装与打开 Jupyter是什么我就不啰嗦了&#xff0c;直接安装&#xff1a; pip install jupyter 安装完后&#xff0c;在你想要打开的项目路径下&#xff0c;唤出CMD执行下面命令就可以使用jupyter notebook了 jupyter notebook 也可以用更加好用的jupyter lab&#xff0…...

Linux命令别名

别名是命令的快捷方式。对于需要经常执行&#xff0c;并需要很长时间输入的长命令创建快捷方式很有用。 临时修改 语法&#xff1a; alias 别名原命令 [选项] [参数][rootdd ~]# alias cdtcd /test #切换到/test下的快捷命令 删除别名&#xff1a; unalias 别名 unalias cd…...

Docker和 Containerd 的区别

自 Docker 开启了使用容器的爆发式增长&#xff0c;有越来越多的工具和标准来帮助管理和使用这项容器化技术&#xff0c;与此同时也造成了有很多术语让人感到困惑。 容器生态系统 容器生态系统是由许多令人兴奋的技术、大量的专业术语和大公司相互争斗组成的。 幸运的是&…...

Qt实现TFTP Server和 TFTP Client(二)

3 实现 3.1 Core Core模块包括下面4个类&#xff1a; TFTPBaseUdpTFtpClientFileTFtpServerFile 3.1.1 TFTP TFTP类实现了TFTP协议。 3.1.1.1 TFTP定义 class TFtp { public:TFtp();enum Code {RRQ 0x0001,//Read requestWRQ 0x0002,//Write requestDATA 0x0003…...

【b站李炎恢】Vue.js Element UI | 十天技能课堂 | 更新中... | 李炎恢

课程地址&#xff1a;【Vue.js Element UI | 十天技能课堂 | 更新中... | 李炎恢】 https://www.bilibili.com/video/BV1U54y127GB/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 备注&#xff1a;虽然标题声明还在更新中&#xff0c;但是看一些常用…...

AI大语言模型工程师学习路线

文章目录 运行LLMSLLM APIS开源的大语言模型Prompt engineering1. 明确目标2. 理解模型能力3. 使用示例4. 精确和具体的指令5. 考虑上下文6. 避免偏见和不准确的信息7. 测试和迭代8. 使用模板9. 考虑多语言能力10. 注意伦理和合规性结构化输出1. 使用明确的提示(Prompts)2. 采…...

基于树莓派实现 --- 智能家居

最效果展示 演示视频链接&#xff1a;基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from333.999.0.0 &#xff08;PS&#xff1a;房屋模型的搭建是靠纸板箱和淘宝买的家居模型&#xff0c;户型参考了留学时短租的公寓~&a…...

MoE大模型核心揭秘:Router路由机制与活跃参数原理

1. 这不是“参数越多越强”的简单故事&#xff1a;拆解大模型里那个被悄悄藏起来的“开关”你肯定见过这类标题&#xff1a;“GPT-4参数量达1.8万亿&#xff01;”、“DeepSeek-R1狂堆6710亿参数&#xff01;”——光看数字&#xff0c;像在比谁家粮仓更大。但真正干过模型部署…...

STM32 SysTick定时器深度配置:从原理到多场景实战应用

1. 项目概述&#xff1a;SysTick&#xff0c;一个被低估的“心脏起搏器”在STM32的世界里&#xff0c;SysTick定时器常常被开发者们视为一个“简单”的延时工具&#xff0c;或者仅仅是操作系统的心跳节拍器。但在我十多年的嵌入式开发生涯中&#xff0c;我越来越深刻地体会到&a…...

2026年度AI接入方案复盘:六大主流API中转/API聚合平台深度测评与选型建议

2026年度AI接入方案复盘&#xff1a;六大主流API中转平台深度测评与选型建议 站在2026年的技术节点回望&#xff0c;企业在构建大模型应用时&#xff0c;早已告别了单纯追求低价的阶段。经过一整年的行业沉淀&#xff0c;我们发现真正影响生产效率的并非单一Token的成本&#…...

手算反向传播:从链式法则到梯度消失的物理直觉

1. 项目概述&#xff1a;这不是又一节“神经网络入门”&#xff0c;而是一次真正踩进反向传播泥潭的实操复盘“Intro to Neural Networks Part II — Brilliant.org”这个标题乍看平平无奇&#xff0c;像是在线教育平台里再普通不过的一节进阶课。但如果你真点开它&#xff0c;…...

JWT密钥轮换缺陷与零停机热修复实战指南

1. 这不是一次普通升级&#xff0c;而是一次密钥信任体系的临界点崩塌Seedance2.0 v2.0.3发布不到72小时&#xff0c;我在给客户做例行安全巡检时&#xff0c;发现一个反直觉的现象&#xff1a;所有新签发的JWT令牌在旧版本客户端&#xff08;v2.0.2&#xff09;上验证失败&…...

Unity Low Poly动物资源包:性能优化与开箱即用实践指南

1. 这个Low Poly Animated Animals资源包到底解决了什么问题&#xff1f;在Unity项目开发中&#xff0c;尤其是独立游戏、教育模拟、原型验证或轻量级AR应用里&#xff0c;我见过太多团队卡在“生态感”这个看似简单实则棘手的环节上。不是没有动物模型——恰恰相反&#xff0c…...

共聚焦vs触针 :表面粗糙度测量原理及ISO25178兼容性分析

表面粗糙度测量是精密制造和质量控制的核心环节&#xff0c;直接影响产品耐磨性、摩擦性能及使用寿命。在工业和科研应用中&#xff0c;准确测量Ra参数不仅保证零件性能稳定&#xff0c;还满足ISO25178标准和ISO4287标准等国际标准要求。传统触针仪器虽然精度高&#xff0c;但操…...

大模型不再“一本正经地胡说八道”!揭秘RAG如何让AI「有据可查」

RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种结合信息检索与文本生成的AI架构&#xff0c;通过让大语言模型在回答问题前先查找外部知识库&#xff0c;有效缓解幻觉问题&#xff0c;并确保答案基于最新、专有数据。RAG通过文档切块、向量嵌入、向量检索和…...

ElevenLabs陕西话语音落地实录:从零配置API到高保真秦腔语调还原,7步搞定方言TTS部署

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ElevenLabs陕西话语音落地实录&#xff1a;从零配置API到高保真秦腔语调还原&#xff0c;7步搞定方言TTS部署 环境准备与API密钥获取 首先注册ElevenLabs账号并进入 Profile → API Keys页面&#xff0c;生成…...

Go 内存优化骚操作

1. 零内存占位符&#xff1a;struct{}{}原理&#xff1a;struct{} 是空结构体&#xff0c;Go 编译器对其做了特殊处理&#xff0c;它在内存中不占任何空间&#xff08;大小为 0 字节&#xff09;。场景 A&#xff1a;实现集合 (Set)map[string]struct{}。比起 map[string]bool&…...