分布式下多节点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

相关推荐
小同志001 天前
⽹络原理-HTTP/HTTPS(一)
网络协议·http·https
tang777891 天前
一张图看懂 HTTP、SOCKS5 代理的区别
网络·网络协议·http
雨言yyds1 天前
Kafka
分布式·kafka
铁甲前沿1 天前
一个月玩转MQTT(篇三:测试EMQX)
mqtt·websocket·emqx·mqttx
曲幽1 天前
FastAPI 实战:WebSocket 从入门到上线,使用避坑指南
python·websocket·fastapi·web·async·asyncio
小同志001 天前
网络原理 -KTTP/HTTPS(五) --认识响应“报头“(header) / “正⽂“(body)
java·网络·网络协议·http·https
学到头秃的suhian2 天前
Redis分布式锁
java·数据库·redis·分布式·缓存
xuxg20052 天前
4G AT命令解析框架LwAtParser V2.0设计及实现(基于uCOS II)--中级篇 第七章 TCP协议实现
网络·网络协议·tcp/ip
若水不如远方2 天前
分布式一致性原理(四):工程化共识 —— Raft 算法
分布式·后端·算法
三水不滴2 天前
千万级数据批处理实战:SpringBoot + 分片 + 分布式并行处理方案
spring boot·分布式·后端