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

相关推荐
熙客1 小时前
Elasticsearch:分布式搜索引擎数据库
分布式·elasticsearch·搜索引擎
雯0609~2 小时前
宝塔配置:IP文件配置,根据端口配置多个项目文件(不配置域名的情况)
服务器·网络协议·tcp/ip
Hello.Reader3 小时前
Spark RDD 编程从驱动程序到共享变量、Shuffle 与持久化
大数据·分布式·spark
小无名呀6 小时前
socket_udp
linux·网络·c++·网络协议·计算机网络·udp
小鹿学程序6 小时前
搭建hadoop集群
大数据·hadoop·分布式
web3.08889996 小时前
淘宝(全量)商品详情 API 的分布式请求调用实践
分布式
lijun_xiao20096 小时前
SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式-学习笔记-1
分布式·spring cloud·rabbitmq
花阴偷移6 小时前
逆向基础--汇编基础(CS与IP) (05)
网络·汇编·网络协议·tcp/ip
天玺-vains7 小时前
借助Github Action实现通过 HTTP 请求触发邮件通知
网络协议·http·github
二宝1527 小时前
黑马商城day8-ES01
分布式·微服务·架构