开发者社区 > 飞天洛神云网络 > 负载均衡 > 正文

开启负载均衡SLB的健康检查后业务日志中出现Connection reset by peer的错误

已解决

开启负载均衡SLB的健康检查后业务日志中出现Connection reset by peer的错误。

展开
收起
游客rda5n5ukztvu2 2022-11-09 16:49:04 148 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    你好,该问题和负载均衡SLB的健康检查机制有关。由于TCP协议对上层业务的状态无感知,同时,为了降低健康检查成本以及对后端服务的冲击,负载均衡SLB针对TCP监听的健康检查只进行简单的TCP三次握手,而后直接发送RST数据包断开TCP连接,没有进一步的业务数据交互,导致上层业务认为连接异常,如Java连接池等,所以抛出Connection reset by peer异常。详细的数据交互过程如下:

    1. 负载均衡SLB实例向后端服务端口发送SYN请求包。
    2. 后端服务器收到请求后,如果端口状态正常,则按照正常的TCP协议机制返回相应的SYN和ACK应答包。
    3. 负载均衡SLB实例成功收到后端服务端口的应答,则认为端口监听是正常的,判定健康检查成功。
    4. 负载均衡SLB实例向后端服务端口直接发送RST数据包主动关闭连接,结束本次健康检查操作,并且不发送业务数据。

    针对该问题,请结合业务的需求和实际情况,从下列两种解决方案中选择适合你的方案:

    • 方案一:更换监听类型更换负载均衡SLB的TCP监听为HTTP监听或HTTPS监听,详情请参见添加HTTP监听添加HTTPS监听
    • 方案二:日志过滤在上层业务的层面,对负载均衡SLB健康检查的IP地址段做日志过滤,忽略相关错误信息。说明:负载均衡SLB的健康检查地址段为100.64.0.0/10。
    2022-11-09 16:52:10
    赞同 展开评论 打赏

阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性。 阿里云SLB包含面向4层的网络型负载均衡NLB、面向7层的应用型负载均衡ALB和传统型负载均衡CLB,是阿里云官方云原生网关。

相关产品

  • 负载均衡
  • 相关电子书

    更多
    低代码开发师(初级)实战教程 立即下载
    冬季实战营第三期:MySQL数据库进阶实战 立即下载
    阿里巴巴DevOps 最佳实践手册 立即下载