A3服务器消息208,一种分布式高并发实时消息推送方法及系统

1. 一种分布式高并发实时消息推送方法,其特征在于,包括: 建立第一用户与web服务器之间的消息连接; 接收第二用户进行web登录后发送到web服务器的消息; 验证所述消息是否合法,若否,则结束非法访问,若是,则: 进行redis数据高速并发处理; 进行kaf ka分区消息处理; web服务器同时消费kafka消息,多台web服务器同时推送相同数据到对应websocket连 接分组用户中; 所述第一用户接收web服务器发送的消息。

2. 根据权利要求1所述的方法,其特征在于,所述建立第一用户与web服务器之间的消 息连接包括: 接收所述第一用户的web登录请求; 基于所述登录请求建立连接,产生认证cookie信息,携带所述cookie信息发起 websocket长连接请求,解析所述websocket中的所述cookie信息,判断是否合法,若否,贝1J 非法访问结束,若是,则: 建立websocket连接,将该连接加入相应分组中。

3. 根据权利要求2所述的方法,其特征在于,所述基于所述登录请求建立连接,产生认 证cookie信息,携带所述cookie信息发起websocket长连接请求,解析所述websocket中的 所述cookie信息,判断是否合法包括: 所述第一用户登录成功后,浏览器访问即时推送页面; 所述浏览器执行js,发起ws或wss连接请求; web服务器解析接收到的所述ws或wss连接请求,并获取cookie信息; 将对应的cookie信息利用web服务器对应的key进行des解密; 将得到的明文字符串进行拆分成6个部分; 将拆分的6个部分信息进行比对,判断是否全部合法。

4. 根据权利要求1所述的方法,其特征在于,所述验证所述消息是否合法包括: 接收所述第二用户携带验证信息发起推送数据的http请求; 所述web服务器接收到http请求,验证cookief曰息是否合法,右否,则结束非法访问,右 是,则: 验证请求签名sign字段是否合法,若否,则结束非法访问,若是,则: 对所述请求进行重复性校验是否允许推送数据,若否,则结束非法访问,若是,则: 进行redis数据高速并发处理。

5. 根据权利要求1所述的方法,其特征在于,所述kafka分区消息处理包括: web服务器对处理好的数据进行封装,同时序列化成json数据,生产消息到kafka服务 器对用的topic上; web服务器集群上的所有实例同时订阅所述topic,其中,所有的web服务器根据redis 分布式锁实现处于不同的group中。

6. —种分布式高并发实时消息推送系统,其特征在于,包括: 建立模块,用于建立第一用户与web服务器之间的消息连接; 第一接收模块,用于接收第二用户进行web登录后发送到web服务器的消息; 验证模块,用于验证所述消息是否合法; 结束模块,用于当所述消息不合法时,结束非法访问; 第一处理模块,用于当所述消息合法时,进行redis数据高速并发处理; 第二处理模块,用于进行kafka分区消息处理; 推送模块,用于web服务器同时消费kafka消息,多台web服务器同时推送相同数据到对 应websocket连接分组用户中; 第二接收模块,用于所述第一用户接收web服务器发送的消息。

7. 根据权利要求6所述的系统,其特征在于,所述建立模块具体用于: 接收所述第一用户的web登录请求; 基于所述登录请求建立连接,产生认证cookie信息,携带所述cookie信息发起 websocket长连接请求,解析所述websocket中的所述cookie信息,判断是否合法,若否,贝1J 非法访问结束,若是,则: 建立websocket连接,将该连接加入相应分组中。

8. 根据权利要求7所述的系统,其特征在于,所述建立模块在执行基于所述登录请求建 立连接,产生认证cookie信息,携带所述cookie信息发起websocket长连接请求,解析所述 websocket中的所述cookief目息,判断是否合法时,具体用于: 所述第一用户登录成功后,浏览器访问即时推送页面; 所述浏览器执行js,发起WS或WSS连接请求; web服务器解析接收到的所述ws或wss连接请求,并获取cookie信息; 将对应的cookie信息利用web服务器对应的key进行des解密; 将得到的明文字符串进行拆分成6个部分; 将拆分的6个部分信息进行比对,判断是否全部合法。

9. 根据权利要求6所述的系统,其特征在于,所述验证模块具体用于: 接收所述第二用户携带验证信息发起推送数据的http请求; 所述web服务器接收到http请求,验证cookie信息是否合法,若否,则结束非法访问,若 是,则: 验证请求签名sign字段是否合法,若否,则结束非法访问,若是,则: 对所述请求进行重复性校验是否允许推送数据,若否,则结束非法访问,若是,则: 进行redis数据高速并发处理。

10. 根据权利要求6所述的系统,其特征在于,所述第二处理模块具体用于: web服务器对处理好的数据进行封装,同时序列化成json数据,生产消息到kafka服务 器对用的topic上; web服务器集群上的所有实例同时订阅所述topic,其中,所有的web服务器根据redis 分布式锁实现处于不同的group中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值