spring cloud gateway客户端websocket断开连接,服务侧连接没有关闭的问题处理

之前在单体架构项目中使用了websocket主动推送消息的功能,后来改成了微服务架构,结果发现部分消息丢失,没能推送给客户端;深入排查发现服务端无法感知websocket连接状态,但是在单体架构里面是没这个问题的,后来发现是网关在处理客户端主动断开的情况时发生了异常。

查阅资料发现是spring gatewaybug,并且相关issue2023年4月已经关闭,于是根据时间节点,找到了4月之后的一个版本(3.1.8)的spring-cloud-gateway-server替换了原来的依赖,重新打包测试发现问题解决,特此记录。

个人使用的spring cloud alibaba 2021.0.6.0版本,对应Spring Cloud 2021.0.5版本。

关键pom修改如下:

xml 复制代码
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
    <!-- 排除旧版本 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gateway-server</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 引入新版本 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-gateway-server</artifactId>
    <version>3.1.8</version>
</dependency>

多说一句:

软件是在不断的迭代优化的,如果条件允许尽量跟上稳定发布版本。

相关推荐
咖啡不甜不好喝21 小时前
SpringCloud之OpenFeign
spring cloud·openfeign
黄俊懿1 天前
【深入理解SpringCloud微服务】Spring-Security作用与原理解析
java·后端·安全·spring·spring cloud·微服务·架构师
JH30731 天前
Gateway 中能写 Servlet Filter 吗?
servlet·gateway
叫致寒吧1 天前
Dockerfile
java·spring cloud·eureka
悟空码字1 天前
从零到一搭建SpringCloud微服务,一场代码世界的“分家”大戏
java·后端·spring cloud
Lily.C1 天前
小程序WebSocket实时通信全解析
websocket·网络协议·小程序
黄俊懿1 天前
【深入理解SpringCloud微服务】Gateway源码解析
java·后端·spring·spring cloud·微服务·gateway·架构师
2501_921649491 天前
股票 API 对接, 接入德国法兰克福交易所(FWB/Xetra)实现量化分析
后端·python·websocket·金融·区块链
刘个Java1 天前
手搓遥控器通过上云api执行航线
java·redis·spring cloud·docker
东东的脑洞1 天前
【面试突击】Spring Security + OAuth2 密码模式实战:Gateway 作为网关与资源服务器,Auth 作为认证服务器(完整认证链路解析)
spring·面试·gateway