分布式下多节点WebSocket消息收发

1、使用场景

2、疑问

第一次发送请求后,通过N1,W2,到达service2,建立websocket连接。

1、接下来发送的消息,通过Ngixn后和网关gateway后还能落在service2上面吗?

如果不能落在service2上,需要怎么操作解决session问题?

答案:当同事提出这个问题的时候,我急忙想着怎么解决?没想过websocket的长连接,通过Ngixn的日志发现了端倪,日志里只打印了第一次建立连接时的请求,后续发消息的没有发现日志。所以我们

3、service与其他的服务有异步操作,其他服务需要调service来处理业务,如何保障处理完消息后能发送消息给到用户端。

这个就是websocket的session共享问题。我用了redis的发布订阅来处理。

4、问题

1、websocket在建立连接后大概一分钟后就自动close :经测试是由于Nginx的timeout时间没有设置加上后解决:close.code = 1006

bash 复制代码
proxy_connect_timeout 10s;
proxy_read_timeout 1h;
proxy_send_timeout 5s;

没有时间了,下次在补充。

https://blog.csdn.net/Q0717168/article/details/125667423

https://blog.csdn.net/qq_42402854/article/details/130948270

相关推荐
pengyi8710151 小时前
HTTP代理抓包核心原理,全面读懂请求与响应数据逻辑
网络·网络协议·http
小辰记事本1 小时前
从零读懂网卡内部架构:一条数据包的硬件之旅
网络·网络协议·架构·rdma
晓杰'1 小时前
Balatro后端进阶(2):基于GitHub Actions的CI自动化验证实现
websocket·ci/cd·typescript·node.js·自动化·github·nestjs
yqcoder3 小时前
HTTP 进化论:从“单车道土路”到“磁悬浮列车”
网络·网络协议·http
发光小北3 小时前
Profinet 转 Profibus DP 主站网关如何应用?
网络协议
muqsen3 小时前
Java 分布式相关面试题总结
java·开发语言·分布式
跨境牛马哥3 小时前
2026爬虫开发:Playwright对决Puppeteer
大数据·网络·网络协议
HMS工业网络3 小时前
使用电脑快速测试DeviceNet设备通讯
网络协议·通讯协议·devicenet·设备通讯
Ether IC Verifier4 小时前
TCP滑动窗口与流量控制详解
网络·网络协议·tcp/ip
phltxy4 小时前
RabbitMQ 入门与安装
分布式·rabbitmq