当前位置:   article > 正文

netty通讯--tcp心跳异常断开问题排查_netty 频繁断开

netty 频繁断开

一.netty通讯中tcp心跳维持有以下两种:

1.TCP协议自带的心跳机制来实现,默认2h心跳检测频率。

2.应用层通过协议实现心跳机制。

二.最近的一个物联网项目,整体的通讯架构如下:

服务端和客户端采用tcp连接,通过自定义协议维护心跳,分为两种工况,一种10s正常心跳,一种15min睡眠心跳, 实际通讯中遇到一个问题:客户端5min未有数据上报,平台会发送空包导致客户端断开。

通过tcpdump抓包分析,由于负责代理和负载均衡的Nginx和ELB有如下配置:

stream{
    upstream acpaccess{
        hash $remote_addr consistent;
        server  127.0.0.1:18000 max_fails=3 fail_timeout=10s;  
    }
    server{
        listen 80;
        proxy_connect_timeout 300s;
        proxy_timeout 5m;
        proxy_pass acpaccess;
    }
}

proxy_connect_timeout :连接超时300s后主动发起断开连接,导致客户端与云平台正常连接终端。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/717183
推荐阅读
相关标签
  

闽ICP备14008679号