V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
realpg
0.01D
V2EX  ›  程序员

自建内网高并发纯 https 协议(要卸载 ssl)负载均衡器, haproxy 和 nginx 哪个更合适一点?

  •  
  •   realpg ·
    PRO
    ·
    realpg · 1 天前 · 1607 次点击
    包含普通 http 和 websocket 要在负载均衡器卸载 ssl

    日最高并发 10000, 负载均衡器起三个实例, 本身不分担负载, 主备备, 只有主承担流量, 备纯热备

    每个业务后端每日最高并发 10000 连接数 每天热门 6 小平均连接数 8000,websocket 持续无数据连接占比超过 60%(基本平均每个 websocket 连接每分钟发一条 msg 都达不到, 是很少比例的控制指令),剩下的是频繁 ajax 小请求

    实践用哪个好一点 大概需要多少内存

    不能上容器编排 就得单机搞
    21 条回复    2025-12-30 15:47:59 +08:00
    mytsing520
        1
    mytsing520  
    PRO
       1 天前
    我只能说,在我们应用过的架构里面,HAproxy 的七层能力垃圾的一匹
    realpg
        2
    realpg  
    OP
    PRO
       1 天前
    @mytsing520

    我们有个成型的自己基于 openresty 搞的庞大的 SLB 但是这个项目有点特殊没法用...
    现在已经在上面跑了 所以数据是准确的
    但是要从这上面把业务迁移下来 挪到开源平台上去

    所以就破罐子破摔 找个前人经验省点心的
    mytsing520
        3
    mytsing520  
    PRO
       1 天前
    结合我们的应用来说:
    不清楚你的业务里面,websocket 如果持续无连接,是否可以设置为自动超时断连;持续连接会造成内存耗尽,不管你机器多大内存,都会被吃光
    七层业务体系里面目前 Nginx 系列能力总体来说挺强的
    HAproxy 用 4 层连接的能力倒是毋庸置疑,7 层的能力人家官方都没太大兴趣做
    MindMindMax
        4
    MindMindMax  
       1 天前
    我记得很多年前,国内有做 SSL 卸载的硬件厂商,弥补 nginx 性能问题。
    defunct9
        5
    defunct9  
       1 天前
    caddy traefik ?
    chunjilikafa1456
        6
    chunjilikafa1456  
       1 天前
    我们是专用的 SSL 卸载硬件+HA(SLB)
    realpg
        7
    realpg  
    OP
    PRO
       1 天前
    @mytsing520 #3
    不是无连接 是必须保持连接 设备断了会自动马上重新连的 需要一直保持 只是上面消息很少 是控制信道 基本上一次连接 1800 秒后断开 直到需要下次连接

    现在这就是个七层的 为了不动项目架构 slb 上卸载 ssl 然后走 http/websocket 去 api server

    nginx 的 health check 真的不如 haproxy 省事 然后我也担心 haproxy 的七层太弱鸡 所以有此问
    realpg
        8
    realpg  
    OP
    PRO
       1 天前
    @chunjilikafa1456 #6

    有钱 没法提采购 预算决算卡的太严了

    之前是给他们白嫖我们其他系统的我们自己卖给他们的 自主知识产权的 SLB 没开新的实例 就在上面新建了个配置

    然后现在这个小系统被别的傻子厂商看上了 要移交给新的公司 他们想挣这钱 得剥离

    之前合同上和清单上没有的硬件软件 都是没法用的 但是用 nginx haproxy 这类纯软的指定版本的 是可以的
    hbprotoss
        9
    hbprotoss  
       1 天前
    nginx 吧,haproxy 一般只做 4 层代理
    vopsoft
        10
    vopsoft  
       1 天前 via Android
    Nginx+Intel QAT 硬件加速卡 (二手的 1000 以内)
    bpf2049
        11
    bpf2049  
       1 天前
    haproxy 四层 1w 并发是小事,七层 HTTP 1W 并发也问题不大,但七层 SSL 卸载还真没试过。另:nginx health check 真的是一坨
    realpg
        12
    realpg  
    OP
    PRO
       1 天前
    @bpf2049 #11

    就 nginx 哪个 health check 是我问这个问题的唯一理由...

    我觉得说他是一坨屎, 都有点侮辱了屎
    xqzr
        13
    xqzr  
       1 天前
    kTLS🤔
    clarkethan
        14
    clarkethan  
       1 天前
    真正可能打垮接入网关的,应该是新建连接,F5 有过一个数据,好像是 intel cpu 单核大概每秒能完成 350 次 RSA-2048 TLS 握手,你可以拿这个大概估算一下。至于你说的 1 万并发,如果是稳定的长连接,随便跑,很低压力
    v1
        15
    v1  
       21 小时 8 分钟前
    让我想到金盾防火墙……
    mytsing520
        16
    mytsing520  
    PRO
       20 小时 17 分钟前
    想到之前 B 站说的那套架构
    公网 IP 在 4 层 LB ,后面直接套 7 层 LB ,业务在 7 层 LB 后面用 API 网关实现
    realpg
        17
    realpg  
    OP
    PRO
       12 小时 6 分钟前
    @mytsing520 #16
    我这个单体业务没那么大体量 不需要四层套七层 只需要一个七层就够了 然后主要是要纯的热备


    @clarkethan #14
    是的 新建连接数是个重要指标 我没提是因为我们实际这个业务 每秒新建连接数不多 远远不会造成瓶颈 而不是我们没关注这个

    @hbprotoss #9
    因为 nginx 的 health check 过于垃圾 才有此问
    thereone
        18
    thereone  
       11 小时 40 分钟前
    不能买设备那就买授权上 NFV ,F5 有对应的 NFV 的。
    Ken1028
        19
    Ken1028  
       10 小时 44 分钟前
    radware+nginx 方案,SSL 卸载在 radware 层
    clarkethan
        20
    clarkethan  
       9 小时 57 分钟前
    @realpg 每秒新建连接少的话随便选哪个都行,10000 长连接并发对 nginx 和 haproxy 都非常轻松,这个量不存在需要因为性能而选型
    yinmin
        21
    yinmin  
       5 小时 5 分钟前
    用 ecc 证书可能会降低握手的资源占用
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3050 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:52 · PVG 20:52 · LAX 04:52 · JFK 07:52
    ♥ Do have faith in what you're doing.