[发明专利]一种基于Redis订阅服务的分布式实时聊天系统及方法有效
申请号: | 201810009781.9 | 申请日: | 2018-01-05 |
公开(公告)号: | CN108289055B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 尹召青 | 申请(专利权)人: | 创盛视联数码科技(北京)有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08;H04L12/26 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
地址: | 100037 北京市海淀区学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于Redis订阅服务的分布式实时聊天系统及方法,该方法将传统的聊天系统分为前端节点和后端节点,并且将前端节点和后端节点通过Redis的订阅服务来进行连接;前端节点和后端节点都可以支持多实例横向扩展,从而构成整个分布式的聊天系统架构;同时,通过Zookeeper的心跳机制,快速的排除集群中存在问题的节点,达到整体服务的高可用。本发明无单节点问题,所有节点都是分布式部署的,不会出现一个节点故障影响整体聊天服务;可横向扩展,节点都是分布式的,可以快速的增加节点来提升处理能力,减少系统性能瓶颈;能够让客户端就近接入,前端节点分布在各个地理位置,能够让客户端接入到离自己最近的前端节点。 | ||
搜索关键词: | 一种 基于 redis 订阅 服务 分布式 实时 聊天 系统 方法 | ||
【主权项】:
1.一种基于Redis订阅服务的分布式实时聊天系统的实现方法,其特征在于,包括以下步骤:S1、建立每一个后端节点与Redis数据库之间的消息订阅/发布通道;建立每一个前端节点与Redis数据库之间的消息订阅/发布公共通道;S2、客户端与前端节点建立连接,通过连接发送聊天数据到前端节点;S3、前端节点检查维护在自身内存中的后端节点可用列表,剔除其中不可用的节点,仅保留可用的后端节点;S4、前端节点从后端节点可用列表中随机选择一个可用的后端节点,根据步骤S1中建立的后端节点与Redis数据库之间的消息订阅/发布通道,向Redis数据库发布从客户端收到的聊天数据;S5、后端节点通过订阅的Redis的消息订阅通道收到聊天数据,然后由后端节点对该聊天数据进行处理;S6、后端节点通过步骤S1中建立的消息订阅/发布公共通道向所有的前端节点发布本条聊天数据;S7、前端节点收到本条聊天消息后轮询获取所有连接到自己并处于同一聊天会话的客户端,依次将聊天数据发送到客户端;S8、所有处于同一聊天会话的客户端收到聊天数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创盛视联数码科技(北京)有限公司,未经创盛视联数码科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810009781.9/,转载请声明来源钻瓜专利网。