基于集群部署下WebSocketSession的共享方法及系统技术方案

技术编号:35859523 阅读:51 留言:0更新日期:2022-12-07 10:48
本发明专利技术涉及电子信息技术领域,具体为基于集群部署下WebSocketSession的共享方法及系统,启动多个WebSocket服务端为客户端提供服务的同时,订阅Redis中的一个公共频道和一个专属频道;当接收到来自客户端的WebSocket连接请求时,由nginx随机路由转发到一个服务端进行连接,相关Session信息保存在该服务端的内存中,并将对应的标识信息存入Redis缓存中;WebSocket服务端接收到推送消息的Http请求后进行判断;有益效果为:本发明专利技术提出的基于集群部署下WEBSOCKET SESSION的共享方法及系统有效降低业务代码的耦合性;支持集群部署下WebSocket Session共享,解决了单机部署时的单点故障问题,有效缓解了高并发情况下服务器的压力;能够有效确保每个用户实时、无误的接收到服务器推送的消息。收到服务器推送的消息。收到服务器推送的消息。

【技术实现步骤摘要】
基于集群部署下WebSocket Session的共享方法及系统


[0001]本专利技术涉及电子信息
,具体为基于集群部署下WebSocket Session的共享方法及系统。

技术介绍

[0002]随着公司的不断发展壮大,所服务的客户人数越来越多,整个业务平台项目越来越复杂,业务量也越来越大。
[0003]现有技术中,单个WebSocket服务器在面对并发量很大的情况时压力会很大,一旦出现服务器繁忙或者宕机的情况,对整体用户的体验非常差。
[0004]但是,单机版已经无法满足现有的业务要求,而在集群部署WebSocket服务的场景下,虽然解决了单机存在性能瓶颈的问题,以及单点故障问题,但又引入了集群模式下Session无法共享的问题。

技术实现思路

[0005]本专利技术的目的在于提供基于集群部署下WebSocket Session的共享方法及系统,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:基于集群部署下WebSocket Session的共享方法,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于集群部署下WebSocket Session的共享方法,其特征在于:所述基于集群部署下WEBSOCKET SESSION的共享方法包括以下步骤:启动多个WebSocket服务端为客户端提供服务的同时,订阅Redis中的一个公共频道和一个专属频道;当接收到来自客户端的WebSocket连接请求时,由nginx随机路由转发到一个服务端进行连接,相关Session信息保存在该服务端的内存中,并将对应的标识信息存入Redis缓存中;WebSocket服务端接收到推送消息的Http请求后进行判断。2.根据权利要求1所述的基于集群部署下WebSocket Session的共享方法,其特征在于:启动多个WebSocket服务端为客户端提供服务时,配置nginx反向代理,使多个服务端对外表现为相同的域名和端口,统一对外提供服务。3.根据权利要求2所述的基于集群部署下WebSocket Session的共享方法,其特征在于:将对应的标识信息存入Redis缓存时,在第三方服务端主动推送消息通知到客户端时,需要优先声明相应的转发规则;WebSocket服务端通过转发规则,并根据判断的结果将信息发送到对应的Redis频道中;WebSocket服务端从频道中获取到消息,执行异步通知逻辑,对比内存中保存的Session连接信息,将消息发送到对应的客户端。4.根据权利要求3所述的基于集群部署下WebSocket Session的共享方法,其特征在于:接收请求进行判断时,当指定的频道与本服务端的专属频道相同时,直接执行异步通知逻辑,将消息发送到连接到本服务端的对应客户端;否则,将该消息发送到Redis的对应频道中,由订阅该频道的服务端去执行通知逻辑。5.根据权利要求4所述的基于集群部署下WebSocket Session的共享方法,其特征在于:若未指定频道,则将该消息发送到公共频道。6.一种如上述权利要求1

5任意一项所述的基于集...

【专利技术属性】
技术研发人员:陈叶龙
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1