haproxy高可用集群

news2024/11/15 11:21:25

高可用集群

                           Haproxy :他是常用的负载均衡软件

                           Nginx  支持四层转发,和七层转发
                           Haproxy  也可以四层和七层转发

LVS的DR发和nat是基于四层还是七层的转?

都基于是四层转发(端口和协议),没有增加URL

                     Tun模式:四层加七层

                           基于四层的转发

                                  lvs        

                                nginx
                                haproxy
                             基于七层转发
                                   nginx
                                haproxy

Haproxy概念

法国人开发的,威利塔罗在2000年基于c语言开发的一个开源的软件。

haproxy可以支持一万以上的并发请求

他是一个高性能tcp和HTTP的负载均衡器最新的2.4 ,我们一般用1.5版本

Haproxy:主要用于高并发的web站点,工作原理和nginx一样,lvs都一样

支持的功能

1tcp和http的反向代理功能
2支持https的代理配置加密的http通信
3可以针对http请求添加cookie(本地缓存),可以转发到后端服务器(添加缓存)
4支持主备服务器切换(keepalived)
5可以实现基于端口的实时监控
6可以压缩响应报文

Haproxy的特点

1可靠性和稳定性非常好,可以和硬件F5 big负载均衡的硬件设备相媲美
2同时维护4万到5wan个并发连接,单位时间内处理最大请求数2万个
3支持8种负载均衡算法,但是haproxy不带缓存功能,但是可以支持会话保持功能
4支持配置虚拟主机
Haproxy的负载均衡算法
1roundrobin   rr   轮询
2static-rr   wrr    加权轮询
3leastconn   最小连接数
4

source   根据请求的源ip进行调度  sh

5URI uri  根据请求的地址进行调度 URL——hash
6Url param  URL的参数实现调度
7hdr (name)表示根据http的请求头锁定每一次的http的请求
8rdp-cookie(name)表示根据cookie 的名称来锁定每一次请求
Lvs  nginx haproxy区别
LVS

1.lvs基于linux内核实现负载均衡,性能最高,但是对系统硬件要求比较高,haproxy和nginx基于第三方的应用实现负载均衡,性能较低

2.lvs可以实现ip加端口的四层负载均衡,无法实现基于地址http请求的转发,haproxy和nginx都是可以实现四层和七层的转发技术

3.lvs只能实现四层转发,检测的状态只能是单一的功能(检测端口),haproxy可以实现更复杂的,如端口,uri,可以检测多种状态

haproxy功能虽然强大,但整体性能低于lvs,nginx的性能比haproxy低
nginxnginx主要应用还是web服务或者缓存服务器,nginx的stream模块和upstream也可以支持集群,但是对节点的健康检查能力不行,没有lvs和haproxy的监控性能好
        Lvs---haproxy----nginx(bug多,稳定性差)
Haproxy缺点
1一般都是单点部署,单实例运行,代理服务器出现故障,整个负载集群全部不可用
2haproxy是一个无状态的负载均衡器,他不会在状态之间保持,而是在后端服务器,或者依靠cookie解决
3日志问题,haproxy的日志比较简单,一般来说只提供基本的请求日志和错误日志,需要更高级的日志,要人工自定义

Timeout 都是向后兼容

实验

  1. 搭建
  2. 实现七层 实现四层
  3. 如何实现haproxy 的日志单独存放

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1143314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法通过村第十七关-贪心|白银笔记|贪心高频问题

文章目录 前言区间问题判断区间是否重复合并区间插入区间 字符串分割加油站问题总结 前言 提示:如果生活把你的门关上了,那你就再打开,这就是门,门就是这样的。 --佚名 贪婪的思想不一定要理解的很透彻,但是贪婪的问题…

学习Java应该关注哪些网站?

前言 下面是我总结的一些不错的网站,可以收藏看一下哈~希望对你有帮助 一、入门教程类 主要是教程性质的网站,主要是新手学习参考以及相关知识的内容参考 1、菜鸟教程(https://www.runoob.com) 2、Java学习笔记(http…

2023年【广东省安全员A证第四批(主要负责人)】考试内容及广东省安全员A证第四批(主要负责人)模拟考试题库

题库来源:安全生产模拟考试一点通公众号小程序 广东省安全员A证第四批(主要负责人)考试内容根据新广东省安全员A证第四批(主要负责人)考试大纲要求,安全生产模拟考试一点通将广东省安全员A证第四批&#x…

红眼特效出处竟是斯大林电脑病毒

相信不少小伙伴看过这种红眼特效的视频,那么你知道这个特效最早出自哪里吗? 其实这个红眼病毒最早出于一个俄罗斯的电脑病毒斯大林上,一旦电脑感染这个病毒,屏幕上就会出现一个红眼特效的斯大林,同时不断播放前苏联国…

学习笔记:最小生成树

最小生成树 引入 我们定义无向连通图的 最小生成树(Minimum Spanning Tree,MST)为边权和最小的生成树。 注意:只有连通图才有生成树,而对于非连通图,只存在生成森林。 实现 求最小生成树的算法有 Prim…

力扣每日一题73:矩阵置零

题目描述: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2…

多线程---wait和notify

文章目录 使用场景使用方法原理notify VS notifyAll 使用场景 我们都知道线程的调度是“随机的”,但是我们在很多时候都希望多个线程能够按照一个预期的顺序来执行。wait和notify就是用来调配线程执行顺序的。 使用方法 public static void main(String[] args) {…

Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video

Github: https://seanchenxy.github.io/HandAvatarWeb 1、结构摘要 MANO-HD模型:作为高分辨率网络拓扑来拟合个性化手部形状将手部几何结构分解为每个骨骼的刚性部分,再重新组合成对的几何编码,得到一个跨部分的一致占用场纹理建…

?SW转cad尺寸不一致

应该是330 中心线不对

x86-32-Linux下栈溢出攻击原理

在x86-32-Linux下构造一个栈溢出攻击 栈缓冲区溢出攻击:向栈上的数组写入超过数组长度的数据导致覆盖到正常数据{栈帧上的返回地址}。 IA-32下C函数调用约定: 调用者将参数从右向左入栈,构造参数call 指令短跳转,会将call指令下一…

【每日一题】从数量最多的堆取走礼物

文章目录 Tag题目来源题目解读解题思路方法一:排序方法二:优先队列 其他语言python3 写在最后 Tag 【优先队列】【排序】【数组】【2023-10-28】 题目来源 2558. 从数量最多的堆取走礼物 ​ 题目解读 执行 k 次操作,每次从数量最多的堆中取…

VirtualBox 安装 麒麟Linux

为了验证Oracle EM是否可以管理麒麟OS和其上的Oracle数据库,今天试着在VirtualBox上装了麒麟Linux,也就是银河麒麟。整个过程比较顺畅。 选定ISO文件后,操作系统自动识别为Red Hat。勾选“跳过自动安装”: 内存和CPU选的默认值&…

AFsim 仿真运行

创建完仿真模型平台后,点击Warlock.exe程序,弹出仿真运行的窗口,点击浏览选择创建好的test文件,点击运行。 点击运行后,进入仿真运行的主页面,如下图所示: 1.仿真控制 顶部工具栏中文件的内容。…

【C++】mapset的底层结构 -- AVL树(高度平衡二叉搜索树)

前面我们对 map / multimap / set / multiset 进行了简单的介绍,可以发现,这几个容器有个共同点是:其底层都是按照二叉搜索树来实现的。 但是二叉搜索树有其自身的缺陷,假如往树中插入的元素有序或者接近有序,二叉搜索…

数据结构 | 算法的时间复杂度和空间复杂度【详解】

数据结构 | 算法的时间复杂度和空间复杂度【详解】 1. 什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 2. 什么是算法? 算法(Algorithm):就是定义良好的计算过…

C++前缀和算法的应用:预算内的最多机器人数目

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 单调双向队列 滑动窗口 题目 你有 n 个机器人,给你两个下标从 0 开始的整数数组 chargeTimes 和 runningCosts ,两者长度都为 n 。第 i 个机器…

Maven - no main manifest attribute(SpringBoot 多模块)

问题描述 no main manifest attribute 解决方案 一个主项目下,多个业务模块,假设 starter 模块作为启动器,以及主项目(project)最外层父 pom.xml 最关键要关注这 2 个 pom.xml(starter - pom.xml & p…

python画气泡标尺图

目录 渐变气泡图彩色气泡图 在进行实验结果分析的时候,气泡标尺图能非常清晰对不同的结果进行多维度的比较,特别是在深度学习模型大小和精度进行比较的时候非常合适使用,以下是几个例子。 渐变气泡图 import seaborn as sns import matplotl…

正点原子嵌入式linux驱动开发——Linux 串口RS232/485/GPS 驱动

串口是很常用的一个外设,在Linux下通常通过串口和其他设备或传感器进行通信,根据 电平的不同,串口分为TTL和RS232。不管是什么样的接口电平,其驱动程序都是一样的,通过外接RS485这样的芯片就可以将串口转换为RS485信号…

RZMO-A-030/210、HZMO-A-030/315电控比例压力阀控制器

RZMO-A-030/50、RZMO-A-030/210、RZMO-A-030/350、RZMO-A-030/100、RZMO-A-030/315、HZMO-A-030/50、HZMO-A-030/210、HZMO-A-030/350、HZMO-A-030/100、HZMO-A-030/315滑阀型先导式数字型比例溢流阀,用于压力开环控制,可提供板式或叠加式安装。A型&…