Haproxy负载均衡

一、常见的web集群调度器

1、目前常见的web集群调度器分为软件和硬件

2、软件通常使用开源的LVS、Haproxy、Nginx

3、硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等

LVS、NGINX、HAProxy 的区别

负载均衡性能:

硬件负载均衡F5 > LVS (最好)> HAProxy (其次) > Nginx (弱于其他两种)

支持的代理类型:

LVS是基于linux内核实现的软负载均衡,支支持4层代理的IP转发,并且不止正则匹配

HAProxy和Nginx都是基于应用程序实现的软负载均衡,都支持4层和7层代理转发,且支持正则匹配。

健康检查方式:

LVS可以配合keepalived实现支持对TCP端口或者URL路径方式的健康检查

Nginx默认只支持被动检查方式,主动健康检查需要安装第三方模块后支持

HAProxy支持TCP端口、URL路径、脚本等方式的健康检查

二、Haproxy应用分析

1、LVS在企业应用中抗负载能力很强,但存在不足

  • LVS不支持正则处理,不能实现动静分离

  • 对于大型网站,LVS的实施配置复杂,维护成本相对较高

2、Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理软件

  • 适用于负载大的web站点

  • 运行在硬件上可支持数以万计的并发连接的连接请求

三、Haproxy调度算法原理

HAProxy负载均衡策略非常多,常见的有如下8种

roundrobin 轮询

static -rr 加权轮询

leastconn 最小连接

source 根据源地址哈希

uri 根据请求的URL地址哈希

url_param 根据请求的URL参数哈希

hdr(NAME) 根据请求头哈希

rdp---cookie(NAME) 根据cookie的key哈希

HAProxy提供了 3种实现会话保持的方式

1.source(源地址哈希)

2.设置cookie

3.会话粘性表stick-table

相关推荐
OpsEye1 小时前
系统负载高一定是CPU问题吗?
运维·cpu·it
AOwhisky2 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
赵民勇2 小时前
Linux file命令详解
linux·运维
li-xun2 小时前
LINUX DO 社区注册机制调整与公益 AI 服务动态
linux·运维·人工智能
j_xxx404_2 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
前端程序猿i3 小时前
Nginx 教程:从入门到能上线
运维·nginx
木雷坞3 小时前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
团象科技3 小时前
外贸站选海外服务器 拆解跨境运营中常被忽略的核心性能细节
运维·服务器
Lv_沐曦3 小时前
银河麒麟桌面版安装、多屏配置、触摸校准
运维·docker·samba·vsftpd·银河麒麟·触控校准·多屏配置
半壶清水4 小时前
ubuntu下利用ns-3 + NetAnim搭建可视化路由选路过程的方法
linux·运维·ubuntu