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

Haproxy介绍及学习

一、负载均衡(load balance):

        1.一种服务基于硬件设备实现的高可用反向代理技术,将特定的业务分担给指定的一个或者多个后端特定的服务器,提高了业务的并发处理能力保证业务的高可用并方便对业务后期的水平动态扩展性

        2.使用负载均衡的原因:

               web服务器的动态水平扩展对用户无感知

               增加业务并发访问及处理能力进而解决了单服务器的瓶颈问题

               节约公网ip地址

                隐藏内部服务器ip

                配置简单

                支持四层和七层支持动态下线主机  

        3.四层负载均衡

                通过ip+port决定负载均衡的去向且对流量请求进行nat处理转发到后台服务器

                记录tcp、udp流量分别是由哪台服务器处理后续该请求连接的流量都通过该服务器处理

                支持四层的软件:

                        lvs:重量级的四层负载均衡器

                        nginx:轻量级的四层负载均衡器

                        haproxy:模拟四层转发

        4.七层负载均衡

                通过url或主机ip进行流量识别,根据应用层信息进行解析决定是否需要进行负载均衡

                代理后台服务器与客户端建立连接

                支持七层代理的软件:

                        nginx:基于http协议

                        haproxy:七层代理,会话保持

        5.四层和七层的区别

                它们主要是依据四层或七层的信息来决定怎样转发流量

                四层负载均衡是通过发布三层的ip地址然后加四层端口号来决定哪些流量做负载均衡,对需要处理的流量进行nat处理转发到后台服务器

                七层负载均衡在四层的基础上考虑应用层,四层无需解析报文消息内容七层可以支持解析应用层保温消息内容

                四层负载均衡类似于路由器七层类似于代理服务器

二、haproxy 简介

        1.haproxy是法国开发者威利塔罗在2000年使用c语言开发的支持高并发、高性能的tcp和http负载均衡器。支持cookie的持久性,自动故障切换支持正则表达式和web状态统计

        2.haproxy的安装和服务信息

                环境:客户端        eth0:172.25.254.10

                            haproxy        eth0:172.25.254.100,eth1:192.168.0.10

                            rs1                eth0:192.168.0.101

                            rs2                eth0:192.168.0.102

                软件安装:                  

                基本配置信息:其配置文件为 /etc/haproxy/haproxy.cfg,该配置文件由两大部分组成:

                        global:全局配置段

                                进程及安全配置相关参数

                                性能调整相关参数

                                debug参数

                        proxies:代理配置参段

                                defaults:为frontend,backend,listen提供默认配置

                                frontend:前端,相当于nginx中的server{}

                                backend:后端,相当于nginx中的upstream{}

                                listen:同时拥有前端和后端配置

                global配置:

                        chroot:锁定运行目录        chroot        /var/lib/haproxy

                        deamon:以守护进程运行

                        user,group,uid,gid:运行haproxy的用户身份

                        

                        nbproc  N:        开启的haproxy worker进程数,默认进程数是1个

                        nbthread 1:        指定haproxy进程数开启的线程数,默认为每个进程一个线程

                        

                        cpu-map 1 0:        绑定haproxy worker 进程到指定的cpu,将1个worker进程绑定到0号cpu

                        cpu-map 2 1:        绑定haproxy worker进程到指定cpu,将第二个work进程绑定到1号cpu

                        maxconn  N:        每个haproxy进程的最大并发连接数

                        pidfile:        指定pid文件路径

                        log 127.0.0.1 local2 info:        定义全局的syslog服务器

                        listen  stats

                                mode  http

                                bind    0.0.0.0:8888

                                stats    enable

                                 log        global

                                stats      uri   /haproxy-status

                                stats      auth  test:test

                proxies配置:

                        frontend        前端servername,类似于nginx的虚拟主机server和lvs服务集群

                        frontend  xiao-webserver-80

                                bind  172.25.254.100:80

                                mode  http

                                use_backend  xiao-webserver-80-rs        调用backend的名称

                        backend        后端服务器组,等于nginx的upstream和lvs中的rs服务器

                         定义一组后端服务器,backend服务器将f被rontend进行调用,其名称必须唯一,且必须在listen或fronted中事先定义才可以使用否则服务无法启动

                        backend  xiao-webserver-80-rs

                                mode  http

                                server  web1  192.168.0.101:80  check  inter  3s  fall  3  rise  5

                                server   web2  192.168.0.102:80  check  inter  3s  fall  3  rise  5

                

                        listen  webserver_80

                                bind  172.25.254.100:80

                                mode  forwardfor

                                server  webserver1  192.168.0.101:80  check  inter  3s  fall  3  rise  5

                                server  webserver2  192.168.0.102:80  check  inter  3s  fall  3  rise  5

                

                3.socat工具

                        对服务器动态权重和其他状态可以利用socat工具进行调整,其特点是在两个数据流之间建立双向通道。

相关文章:

Haproxy介绍及学习

一、负载均衡(load balance): 1.一种服务基于硬件设备实现的高可用反向代理技术,将特定的业务分担给指定的一个或者多个后端特定的服务器,提高了业务的并发处理能力保证业务的高可用并方便对业务后期的水平动态扩展性。 2.使用负载均衡的原因…...

【2024年华为OD机试】 (C卷,200分)- 贪心歌手(JavaScriptJava PythonC/C++)

一、问题描述 问题描述 一个歌手需要从A城前往B城参加演出,必须在T天内到达。途中会经过N座城市,且不能往回走。每两座城市之间的行程天数已知。歌手在每座城市都可以卖唱赚钱,但收入会随着停留天数的增加而递减。具体来说,第一…...

深度学习在金融风控中的应用:突破传统模型的瓶颈

深度学习在金融风控中的应用:突破传统模型的瓶颈 金融风险控制(简称“风控”)是现代金融体系中至关重要的一环,关系到金融机构的稳定性、客户的安全以及整体经济的健康运行。近年来,随着深度学习的迅猛发展,传统的风控模型正面临被颠覆的挑战,新的技术手段和思维方式正…...

LLM - 大模型 ScallingLaws 的指导模型设计与实验环境(PLM) 教程(4)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145323420 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Scaling Laws (缩放法则) 是大模型领域中,用于描述 模型性能(Loss) 与…...

hunyuan 混元学习

使用了5个subset,也是用了text-image和text-video进行训练的 也是进行了复杂的视频选择。同movie gen. 也进行了模型切断,用拉普拉斯算子找到最清晰的一帧作为训练的起始 训练了不同的模型去选择数据,比如用Dover去选择美观度比较好的数据&#xff0c…...

开发、科研工具汇总

一些基础教程网站 W3:w3school 在线教程 菜鸟:菜鸟教程 - 学的不仅是技术,更是梦想! 开发相关参考文档 Vue2:Vue.js Vue3:Vue.js - 渐进式 JavaScript 框架 | Vue.js MDN:MDN Web Docs HT…...

项目部署(springboot项目)

1、安装Nginx,并开启 2、前端项目打包:npm run build:prod--->dist 3、后端项目打包:install--->xxx.jar 4、开放需要的端口号:比如我的后端项目端口号为8282,则需要防火墙和服务器同时开发8282端口 5、将di…...

OpenEuler学习笔记(十四):在OpenEuler上搭建.NET运行环境

一、在OpenEuler上搭建.NET运行环境 基于包管理器安装 添加Microsoft软件源:运行命令sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm,将Microsoft软件源添加到系统中,以便后续能够从该源安装.…...

神经网络的通俗介绍

人工神经网络,是一种模仿人类大脑工作原理的数学模型。人类的大脑是由无数的小“工作站”组成的,每个工作站叫做“神经元”。这些神经元通过“电线”互相连接,负责接收、处理和传递信息。 一、人类大脑神经网络 人类大脑的神经网络大概长这…...

基于 AWS SageMaker 对 DeepSeek-R1-Distilled-Llama-8B 模型的精调与实践

在当今人工智能蓬勃发展的时代,语言模型的性能优化和定制化成为研究与应用的关键方向。本文聚焦于 AWS SageMaker 平台上对 DeepSeek-R1-Distilled-Llama-8B 模型的精调实践,详细探讨这一过程中的技术细节、操作步骤以及实践价值。 一、实验背景与目标 …...

如何使用DeepSeek R1

以下是如何使用DeepSeek R1的详细步骤: ### 一、注册DeepSeek账户 1. **访问官方网站**: - 打开浏览器,访问[chat.deepseek.com](http://chat.deepseek.com)。 2. **注册账户**: - 使用电子邮件、Google账户或86手机号码…...

大屏 UI 设计风格的未来趋势

在科技飞速革新的时代,大屏设备的应用领域不断拓展,从城市的智能交通指挥中心,到商场的互动广告大屏,再到家庭的超大尺寸智能电视,大屏已然成为信息展示与交互的关键载体。大屏 UI 设计风格也随之不断演变,…...

unity学习22:Application类其他功能

目录 1 是否允许后台运行 1.1 Application.runInBackground,显示是否允许后台运行 1.2 设置的地方 2 打开URL 2.1 Application.OpenURL("") 打开超链接 3 退出游戏 3.1 Application.Quit() 退出游戏 4 场景相关 5 返回游戏状态 6 控制游戏的行…...

51单片机入门_02_C语言基础0102

C语言基础部分可以参考我之前写的专栏C语言基础入门48篇 以及《从入门到就业C全栈班》中的C语言部分,本篇将会结合51单片机讲差异部分。 课程主要按照以下目录进行介绍。 文章目录 1. 进制转换2. C语言简介3. C语言中基本数据类型4. 标识符与关键字5. 变量与常量6.…...

定位的叠放次序 z-index

浮动定位和绝对定位的区别: 浮动只会压住它下面标准流的盒子,但是不会压住下面标准流盒子里面的文字,但是绝对定位(固定定位)会压住下面标准流所有的内容。...

ESP32-S3模组上跑通esp32-camera(36)

接前一篇文章:ESP32-S3模组上跑通esp32-camera(35) 一、OV5640初始化 2. 相机初始化及图像传感器配置 上一回继续对reset函数的后一段代码进行解析。为了便于理解和回顾,再次贴出reset函数源码,在components\esp32-camera\sensors\ov5640.c中,如下: static int reset…...

前端性能优化:HMR热更新和预获取加载

最近发现项目开发,有点加载快,有点却是卡机式,甚至刷新导致白屏情况。于是,我找开发和性能优化的方法,找到下面几种。 本文将深入探讨 预获取(Prefetch)、动态导入(Dynamic Import&…...

【自学笔记】计算机网络的重点知识点-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 计算机网络重点知识点一、计算机网络概述二、网络分类三、网络性能指标四、网络协议与体系结构五、数据交换方式六、物理层与数据链路层七、网络层与运输层八、应用…...

算法基础学习——二分查找(附带Java模板)

有单调性的数列一定可以使用二分,没有单调性的题目也可能可以使用二分; (一)整数二分 二分的本质: 在某个整数区间内,存在某种性质使得区间内左半边的数都不满足该性质;而右半边的数都满足该性…...

【llm对话系统】大模型源码分析之llama模型的long context更长上下文支持

1. 引言 Llama模型的一个重要特性是支持长上下文处理。本文将深入分析Llama源码中实现长上下文的关键技术点,包括位置编码(position embedding)的外推方法、注意力机制的优化等。我们将通过详细的代码解析来理解其实现原理。 2. 位置编码的外推实现 2.1 旋转位置…...

拒绝PPT运维!实测实在Agent:IT运维服务器监控与故障预警的“降维打击”

摘要: 在2024年IT运维体系全面迈向智能化(AIOps)的背景下,服务器监控与故障预警已不再是简单的指标采集,而是演变为对复杂业务逻辑与AI行为的深度感知。传统监控Agent(如Zabbix、Prometheus)虽稳…...

从WiFi4到WiFi7:一张表格看懂所有代际的真实网速差距(附选购建议)

从WiFi4到WiFi7:四代协议性能全景对比与智能组网决策指南 当你在电商平台搜索"WiFi6路由器"时,超过200款不同价位的设备会瞬间涌入视野。从299元的入门款到4999元的旗舰机型,商家宣传的"AX3000"、"BE6500"等参…...

避坑指南:CentOS虚拟机重启报rdsosreport.txt错误时,为什么xfs_repair有时需要-L参数?

CentOS虚拟机XFS文件系统修复实战:为什么-L参数是最后的救命稻草? 当你深夜加班部署服务,突然虚拟机异常断电,重启后屏幕上赫然出现"generating /run/initramfs/rdsosreport.txt"的报错——这个场景足以让任何Linux管理…...

Java 25记录模式深度实战:手把手带你用模式匹配解构嵌套记录,效率提升47%(JVM实测数据)

第一章:Java 25记录模式的演进脉络与核心突破记录模式(Record Patterns)作为 Java 21 首次以预览特性引入、并在 Java 22 进一步增强、最终于 Java 25 正式成为标准特性的关键语言机制,标志着 Java 在模式匹配演进道路上完成从“解…...

雯雯的后宫-造相Z-Image-瑜伽女孩实战教程:结合ControlNet实现精准体式控制

雯雯的后宫-造相Z-Image-瑜伽女孩实战教程:结合ControlNet实现精准体式控制 1. 从零开始:环境准备与模型部署 想要生成专业的瑜伽女孩图片,首先需要搭建好环境。雯雯的后宫-造相Z-Image-瑜伽女孩是一个专门针对瑜伽场景优化的文生图模型&am…...

当I2C总线卡死时我们在debug什么:从复位异常到多设备冲突的故障树分析

当I2C总线卡死时我们在debug什么:从复位异常到多设备冲突的故障树分析 I2C总线作为嵌入式系统中广泛使用的通信协议,其简洁的两线制设计(SCL时钟线与SDA数据线)背后隐藏着复杂的硬件交互逻辑。当系统突然出现I2C通信失败、设备无响…...

FLUX.小红书极致真实V2规模化落地:单节点支持10并发请求,QPS达2.1

FLUX.小红书极致真实V2规模化落地:单节点支持10并发请求,QPS达2.1 1. 项目简介 你是否曾经遇到过这样的困扰:想要生成小红书风格的高质量图片,但要么效果不够真实,要么生成速度太慢,要么显存不够用&#…...

如何快速配置安卓虚拟摄像头VCAM:专业使用技巧完整指南

如何快速配置安卓虚拟摄像头VCAM:专业使用技巧完整指南 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam 安卓虚拟摄像头VCAM是一款基于Xposed框架的创新工具,能够将…...

Windows环境下Jaeger全链路监控系统搭建指南

1. 为什么需要全链路监控系统 在微服务架构中,一个用户请求可能会经过多个服务的处理。想象一下,你在电商网站下单时,这个操作会触发订单服务、支付服务、库存服务等多个系统的协同工作。当出现问题时,传统的日志排查就像在迷宫里…...

OWL ADVENTURE编辑功能展示:一键换装、智能擦除,效果自然

OWL ADVENTURE编辑功能展示:一键换装、智能擦除,效果自然 1. 编辑功能概览:像玩游戏一样修图 OWL ADVENTURE的图片编辑功能让人眼前一亮。不同于传统修图软件的复杂操作,它通过自然语言指令就能完成各种编辑任务,效果…...