当前位置: 首页 > 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 旋转位置…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...

RabbitMQ 各类交换机

为什么要用交换机&#xff1f; 交换机用来路由消息。如果直发队列&#xff0c;这个消息就被处理消失了&#xff0c;那别的队列也需要这个消息怎么办&#xff1f;那就要用到交换机 交换机类型 1&#xff0c;fanout&#xff1a;广播 特点 广播所有消息​​&#xff1a;将消息…...

TMC2226超静音步进电机驱动控制模块

目前已经使用TMC2226量产超过20K,发现在静音方面做的还是很不错。 一、TMC2226管脚定义说明 二、原理图及下载地址 一、TMC2226管脚定义说明 引脚编号类型功能OB11电机线圈 B 输出 1BRB2线圈 B 的检测电阻连接端。将检测电阻靠近该引脚连接到地。使用内部检测电阻时,将此引…...

XXE漏洞知识

目录 1.XXE简介与危害 XML概念 XML与HTML的区别 1.pom.xml 主要作用 2.web.xml 3.mybatis 2.XXE概念与危害 案例&#xff1a;文件读取&#xff08;需要Apache >5.4版本&#xff09; 案例&#xff1a;内网探测&#xff08;鸡肋&#xff09; 案例&#xff1a;执行命…...

盲盒一番赏小程序:引领盲盒新潮流

在盲盒市场日益火爆的今天&#xff0c;如何才能在众多盲盒产品中脱颖而出&#xff1f;盲盒一番赏小程序给出了答案&#xff0c;它以创新的玩法和优质的服务&#xff0c;引领着盲盒新潮流。 一番赏小程序的最大特色在于其独特的赏品分级制度。赏品分为多个等级&#xff0c;从普…...