webSocket推送消息有时候成功有时候失败

您所在的位置:网站首页 万卡一直推有成功的吗 webSocket推送消息有时候成功有时候失败

webSocket推送消息有时候成功有时候失败

2024-07-15 22:27| 来源: 网络整理| 查看: 265

最近收到一个需求,要做一个实时推送消息的页面,给外部调用,不需要登陆的,考虑用了webSocket的,挺简单的,一会就搞完了,开发环境和测试环境测试没有问题,心里还挺高兴的,webSocket挺简单的。

然后部署到生产环境问题来了,需要推送的消息前端收到一条丢失一条,基本上是需要推送的消息要丢失一半,手动刷新调一下最新的接口,需要推送的数据也存到数据库了,然后就开始了百度查呗,各种问题,因为我们用到了nginx了,有人说改nginx配置,改了还是不行,然后我这边就打印日志一步一步的调试,最后发现我需要推送的消息也发送给webSocket了,但是好像给客户端推送的时候,没有找到客户端,找到问题了。

然后就开始分析客户端连上websocket了不可能马上就断啊,nginx设置的延迟的,而且也不是一直不能推送,十条数据里怎么也有几条能推送成功。

后来看日志发现我们有两台服务器,能推送成功的是服务器A打的日志,一直没有推送成功的是服务器B的日志,后来想到这个websocket把连接成功的客户端都存的是静态变量,我们两台服务器没有共享储存的客户端信息,所以一直在A服务器上存着呢,导致如果请求的推送接口发到B服务器上,推送消息时没有客户端,当然推送不了。。。

解决办法:保证一开始websocket连接的服务器和推送消息调的接口是在同一个上服务器进行的。

每次解决问题都记录一下!每天成长一点!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3