Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
silenceshell
V2EX  ›  云计算

SLB 设备健康检查,三次握手后直接发送 RST 包断开连接,合理吗?

  •  
  •   silenceshell · Apr 11, 2019 · 4100 views
    This topic created in 2588 days ago, the information mentioned may be changed or developed.

    如下是某个厂商的实现。

    slb-rst

    是否按正确的四次挥手关闭连接更好呢? RST 对用户来说是很困扰的,会打印很多无效的日志。

    11 replies    2019-04-11 17:49:37 +08:00
    opengps
        1
    opengps  
       Apr 11, 2019 via Android
    我也同样纠结过,之前的 socket 有缺陷,平常正常使用好好的,放在 slb 之下就容易健康检查搞死。
    不过我修复缺陷之后就没啥问题了,再没纠结这个
    zwh2698
        2
    zwh2698  
       Apr 11, 2019 via Android
    Rst 按照协议没有关闭,这种只能是超时关闭了。
    ryd994
        3
    ryd994  
       Apr 11, 2019   ❤️ 1
    FIN 关闭需要考虑后续状态,RST 不需要。负载均衡依赖连接状态工作,因此必定有连接表。健康检查的连接频率很高,FIN 会留下大量僵尸连接。
    xenme
        4
    xenme  
       Apr 11, 2019
    health check 的方式不同,对应的也不同,总的来说还是你的程序不够健壮。
    TCP half open 类型的 monitor,只要收到一次确认,证明端口正常就直接没了
    reus
        5
    reus  
       Apr 11, 2019
    如果连这都处理不好,那你的服务敢放在外网?
    9hills
        6
    9hills  
       Apr 11, 2019 via iPhone
    如果正常 close,有成本在里面。这个还是去修改链接池实现吧,忽略掉 reset
    julyclyde
        7
    julyclyde  
       Apr 11, 2019
    对客户端断开连接表示担忧
    这听起来很像美团外卖早期的一个 sb 程序员
    silenceshell
        8
    silenceshell  
    OP
       Apr 11, 2019
    客户端能不能处理 RST 报文,跟 SLB 是不是应该发 RST 是两个问题,很多基础 lib 会对收到 RST 打印日志。
    客户端断开连接,跟客户端发送 RST,也是两个问题。
    reus
        9
    reus  
       Apr 11, 2019
    SLB 发 RST 你可以抱怨,如果搞 ddos 的给你发 RST,你找谁抱怨去?

    如果认为收到 RST 时打印日志是个问题,那就关掉 RST 的日志
    silenceshell
        10
    silenceshell  
    OP
       Apr 11, 2019
    对付 ddos,当然是前面挂防火墙。为啥要用血肉之躯对抗呢,关了 RST 日志,就能抗住 DDOS 了吗。
    Greenm
        11
    Greenm  
       Apr 11, 2019 via iPhone
    nmap 扫描端口 TCP 类型的原理也是这样,这个我觉得没毛病,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3777 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 00:42 · PVG 08:42 · LAX 17:42 · JFK 20:42
    ♥ Do have faith in what you're doing.