HAProxy 入门:高性能开源负载均衡

文章目录

HAProxy 是一款高性能开源负载均衡器,GitHub 星标超过 4 千,现在很多公司都用它做四层七层负载均衡,高并发场景性能很好,比 Nginx 还强。

我用 HAProxy 做过负载均衡,聊聊它好在哪,值得学吗。

HAProxy 解决了什么问题

你多个服务实例,要做负载均衡,分发请求,高可用,一台挂了自动切到别的,HAProxy 专门做这个,性能比很多负载均衡好,高并发场景顶得住。

支持四层和七层负载均衡,TCP HTTP 都能做,根据 URL 路径分发,根据 cookie 会话保持,功能全,满足各种场景。

健康检查,后端实例挂了自动摘掉,不会把请求分给死节点,自动恢复好了加回来,稳定。

基础例子看一下

配置文件 haproxy.cfg:

conf 复制代码
global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 666 level admin
    daemon

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000

frontend http_front
    bind *:80
    default_backend web_servers

backend web_servers
    balance roundrobin
    server web1  192.168.1.10:80 check
    server web2  192.168.1.11:80 check

启动:

bash 复制代码
haproxy -f haproxy.cfg

就是这么简单,所有请求 80 进来,roundrobin 分给两个后端服务器,自动健康检查,哪个挂了自动去掉,用户感知不到,稳定。

stats 页面配置一下就能看,各个服务器状态,流量,一目了然,方便监控。

核心好用的特性

高性能

高并发低延迟,一万并发轻松扛,比很多负载均衡性能好,大厂高并发场景都用它,靠谱。

四层+七层

四层 TCP 负载均衡,七层 HTTP 负载均衡都能做,你想分发 TCP 还是 HTTP 都可以,满足不同场景。

多种负载均衡算法

roundrobin、leastconn、source,多种算法,你想要什么策略选什么,满足不同需求。

健康检查

后端服务器定期检查,不健康自动移除,恢复了自动加回来,不用人工干预,高可用,稳定。

ACL 灵活分流

根据 URL、域名、头信息分流,不同内容分到不同后端,灵活,满足各种架构需求。

会话保持

cookie 会话保持,同一个用户请求分到同一个后端,没问题,满足应用需求。

哪些场景用 HAProxy

负载均衡,高并发场景,HAProxy 性能好,首选。API 网关,七层分流,路径分流,HAProxy 能做,合适。四层 TCP 负载均衡,数据库连接负载,也能做,没问题。

HAProxy 有哪些优缺点

优点,性能真的好,高并发比 Nginx 好,功能全,四层七层都能做,配置简单,稳定,十几年了,成熟,坑少。

缺点,就是它就是负载均衡,做反向代理也行,但静态文件处理这些不如 Nginx,一般前面 CDN 或者 Nginx 静动静分离,动态请求给 HAProxy,分工,也没问题。

现在 HAProxy 发展得怎么样

出来快二十年了,一直稳定更新,现在很多公司生产环境用,高并发场景还是首选,地位稳,一直维护,没问题。

现在学 HAProxy 值得吗

做后端运维,肯定值得学,负载均衡是后端架构必备,HAProxy 最流行高性能的,学会了,做架构就能用上,高并发场景不用愁。

配置也简单,例子多,跟着抄就能用,学会基本配置半天就够,常用就那几块,不难,投入低收益高,肯定值得。你做架构,高并发负载均衡,HAProxy 就是好选择,学会了一直能用。

项目地址:https://github.com/haproxy/haproxy

半天就够,常用就那几块,不难,投入低收益高,肯定值得。你做架构,高并发负载均衡,HAProxy 就是好选择,学会了一直能用。

项目地址:https://github.com/haproxy/haproxy

相关推荐
Gauss松鼠会3 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
Android系统攻城狮3 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
杨云龙UP3 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
冬奇Lab4 小时前
每日一个开源项目(第238篇):Impeccable - 让每个 AI 编程工具都学会审美的设计引擎
人工智能·开源·claude
无人生还别怕4 小时前
如何安装任意版本docker
运维·docker·容器
T0uken5 小时前
Colab:SSH 访问免费 GPU Server
运维·ssh
Python大数据分析@5 小时前
通过 MCP 实现 AI Agent自动化数据采集
运维·人工智能·爬虫·自动化
鶴哥只手遮天5 小时前
Vue 3 核心源码深度剖析系列(v3.5.44)-第 1 章 项目全景:monorepo 架构与工程化体系
前端·vue.js·开源
Initialize293085 小时前
告警一条接一条刷屏?五步治理告警风暴
运维
帷幕落秋5 小时前
Docker镜像加速
运维·docker