HAProxy简写

概念:

简单地说,HAProxy就是一款免费的负载均衡的软件,类似于LVS。能基于4层(TCP)或者7层(HTTP)提供服务,适合大并发场景(1w以上并发)。

主要特效:
  • 可靠性和稳定性高
  • 最高可以同时维护4w-5w个并发连接,单位时间内处理的最大请求数为2w个,最大处理能力可达10Gbit/s
  • 支持多达8种负载均衡算法,而且支持会话保持
  • 支持虚拟主机功能,Web负载均衡更加灵活
  • 支持连接拒绝,全透明代理等功能
  • 拥有强大的ACL支持,用于访问控制
  • 拥有独特的弹性二叉树数据结构,时间复杂度仅有O(1),数据的查询速度不会因为数据条目的增加而下降
  • 支持客户端的keepalived功能,减少三次握手的次数
  • 支持TCP加速,零复制功能,降低了冗余数据的拷贝,缓解CPU压力
  • 支持响应池(response buffering)
  • 支持RDP协议
  • 基于源的粘性,类似nginx的ip_hash功能,把来自同一客户端的请求在一定时间内始终调度到上游的同一服务器
  • 更好统计数据接口,其web接口显示后端集群中各个服务器的接收、发送、拒绝、错误等数据的统计信息
  • 详细的健康状态检测,web接口中有关于对上游服务器的健康检测状态,并提供了一定的管理功能
  • 基于流量的健康评估机制
  • 基于http认证
  • 基于命令行的管理接口
  • 日志分析器,可对日志进行分析
HAProxy的负载均衡策略:
  • roundrobin:轮询
  • static-rr:加权轮询
  • leastconn:最小连接数
  • source:来自同一IP的请求会被分发到同一服务器
  • uri:访问同一URI的请求会被分发到同一服务器
  • url_param:使用请求的URL参数
  • hdr(name):根据HTTP请求头来锁定每一次HTTP请求
  • rdp-cookie(name):根据cookie(name)来锁定并哈希每一次TCP请求
LVS、Nginx、HAProxy各自的优势:
  • Nginx
    • 支持正则
    • 只支持基于端口的健康检查
    • 不支持session直接保持、但能通过ip_hash来解决
    • 对网络稳定性要求不高
    • 反向代理能力强
  • LVS
    • 只能基于四层端口转发
    • 仅在四层做分发作用,抗负载能力强
    • 应用范围广
  • HAProxy
    • 支持多种负载均衡策略
    • 仅作负载均衡软件使用,在高并发情况下性能优于nginx
    • 支持URL检测,支持session保持
相关推荐
roman_日积跬步-终至千里3 小时前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
2的n次方_4 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
郝学胜-神的一滴5 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
天若有情6735 小时前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
胖咕噜的稞达鸭6 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
全栈工程师修炼指南6 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
cur1es6 小时前
【UDP的报文结构】
网络·网络协议·udp·md5
惊讶的猫7 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c7 小时前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠7 小时前
HTTP 404 - No response body available
网络·网络协议·http