基于WebSocket的分布式服务器集群交互方法及装置制造方法及图纸

技术编号:23860640 阅读:54 留言:0更新日期:2020-04-18 13:38
本申请实施例提供一种基于WebSocket的分布式服务器集群交互方法及装置,方法包括:与客户端建立WebSocket连接,并将对应的标识信息存储至Redis缓存;接收用户在所述客户端触发的工作指令,并向Redis消息队列发布Topic消息,以使服务器集群中的另一订阅了所述Redis消息队列的Topic消息的服务器能够根据所述Topic消息中的标识信息判断该用户对应的session是否存在于本地,并根据判断结果执行对应消息推送操作;本申请能够有效确保每个用户实时、无误的收到服务器推送的消息。

Interaction method and device of distributed server cluster based on websocket

【技术实现步骤摘要】
基于WebSocket的分布式服务器集群交互方法及装置
本申请涉及数据处理领域,具体涉及一种基于WebSocket的分布式服务器集群交互方法及装置。
技术介绍
随着业务的发展,整个机器学习平台项目越来越复杂,业务量越来越大,单WebSocket服务器在面对并发量很大时压力会很大,而且Session储存在Map中,内存压力也会很大,单机版已无法满足现有业务要求,而在分布式场景下使用WebSocket存在单机性能瓶颈问题,单点故障问题,集群模式下分布式会话共享等问题。
技术实现思路
针对现有技术中的问题,本申请提供一种基于WebSocket的分布式服务器集群交互方法及装置,能够有效确保每个用户实时、无误的收到服务器推送的消息。为了解决上述问题中的至少一个,本申请提供以下技术方案:第一方面,本申请提供一种基于WebSocket的分布式服务器集群交互方法,包括:与客户端建立WebSocket连接,并将对应的标识信息存储至Redis缓存;接收用户在所述客户端触发的工作指令,并向Redis消息队列发布To本文档来自技高网...

【技术保护点】
1.一种基于WebSocket的分布式服务器集群交互方法,其特征在于,所述方法包括:/n与客户端建立WebSocket连接,并将对应的标识信息存储至Redis缓存;/n接收用户在所述客户端触发的工作指令,并向Redis消息队列发布Topic消息,以使服务器集群中的另一订阅了所述Redis消息队列的Topic消息的服务器能够根据所述Topic消息中的标识信息判断该用户对应的session是否存在于本地,并根据判断结果执行对应消息推送操作。/n

【技术特征摘要】
1.一种基于WebSocket的分布式服务器集群交互方法,其特征在于,所述方法包括:
与客户端建立WebSocket连接,并将对应的标识信息存储至Redis缓存;
接收用户在所述客户端触发的工作指令,并向Redis消息队列发布Topic消息,以使服务器集群中的另一订阅了所述Redis消息队列的Topic消息的服务器能够根据所述Topic消息中的标识信息判断该用户对应的session是否存在于本地,并根据判断结果执行对应消息推送操作。


2.根据权利要求1所述的基于WebSocket的分布式服务器集群交互方法,其特征在于,所述标识信息包括用户id、sessionid及当前服务器ip中的至少一种。


3.根据权利要求2所述的基于WebSocket的分布式服务器集群交互方法,其特征在于,所述根据判断结果执行对应消息推送操作,包括:
若存在,则从本地内存中取出对应的session,并将消息发送至该session对应的客户端;
若不存在,则从Redis缓存中,根据用户id查询该服务器ip及该用户对应的sessionid,用HTTP请求发送该用户id、sessionid和Topic消息至该服务器。


4.根据权利要求2所述的基于WebSocket的分布式服务器集群交互方法,其特征在于,还包括:
配置session调用方法,以接收服务器集群中的另一服务器发送的用户id和sessionid请求,得到该用户对应的session,并将接收到的Topic信息发送至该session对应的客户端。


5.一种基于WebSocket的分布式服务器集群交互装置,其特征在于,包括:
Redis存储模块,用于与客户端建立WebSocket连接,并将对应的标识信息存储至Redis缓存;
消息推送模块,用于接收用户在所述客户端触发的工作指令,并向Redis消息队列发布Topic消息,以使服务器集群中的另一订阅了所述Redis消息队列的Topic消息的服务器能够根据所述Topic...

【专利技术属性】
技术研发人员:崔晶晶贾俊芳金林
申请(专利权)人:集奥聚合北京人工智能科技有限公司
类型:发明
国别省市:北京;11

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

1