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

相关推荐
正在走向自律17 分钟前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
不会就选b30 分钟前
linux之进程管理(二)--替换
linux·运维·服务器
倔强的石头10635 分钟前
【Linux指南】动静态库系列(二):从源码复用到目标文件复用:为什么需要把 .o 打包成库
linux·运维·服务器
步步精BBJconn44 分钟前
从GPU服务器到数据中心:AI服务器高压连接器的应用与发展趋势
大数据·运维·服务器·人工智能·科技·物联网
码农学院3 小时前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
GuWenyue7 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
大耳朵-小飞象12 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技12 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
生活爱好者!15 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器