[发明专利]一种基于Redis订阅服务的分布式实时聊天系统及方法有效
| 申请号: | 201810009781.9 | 申请日: | 2018-01-05 |
| 公开(公告)号: | CN108289055B | 公开(公告)日: | 2021-04-02 |
| 发明(设计)人: | 尹召青 | 申请(专利权)人: | 创盛视联数码科技(北京)有限公司 |
| 主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08;H04L12/26 |
| 代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
| 地址: | 100037 北京市海淀区学院*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 redis 订阅 服务 分布式 实时 聊天 系统 方法 | ||
本发明公开了一种基于Redis订阅服务的分布式实时聊天系统及方法,该方法将传统的聊天系统分为前端节点和后端节点,并且将前端节点和后端节点通过Redis的订阅服务来进行连接;前端节点和后端节点都可以支持多实例横向扩展,从而构成整个分布式的聊天系统架构;同时,通过Zookeeper的心跳机制,快速的排除集群中存在问题的节点,达到整体服务的高可用。本发明无单节点问题,所有节点都是分布式部署的,不会出现一个节点故障影响整体聊天服务;可横向扩展,节点都是分布式的,可以快速的增加节点来提升处理能力,减少系统性能瓶颈;能够让客户端就近接入,前端节点分布在各个地理位置,能够让客户端接入到离自己最近的前端节点。
技术领域
本发明涉及一种实时聊天系统及其实现方法,具体涉及一种基于 Redis订阅服务的分布式实时聊天系统及方法,属于互联网技术领域。
背景技术
现有技术中的聊天系统中,系统的架构普遍采用典型的单机程序结构,即聊天推送服务部署在一台单独的服务器上,通过TCP服务对外提供端口和连接支持,所有需要聊天服务的客户端也通过TCP协议连接到改聊天服务器上,某个客户端发出消息后,经过聊天服务器的中转,转发到其他所有连接到该服务器的客户端上。
传统的单机程序的聊天服务,存在以下三方面缺点,
第一:单节点问题,由于传统技术方案中采用的是单服务器节点的架构,如果聊天服务器出现故障无法访问时,将会造成整个聊天服务的瘫痪;
第二:无法横向扩展的问题,在传统技术方案中,由于各个客户端之间的消息需要互相传递,所以所有客户端必须连上同一台聊天服务器,这就会导致在系统负载变大的时候,我们无法通过再增加一台聊天服务器来增加系统的处理容量,限制了系统的并发规模;
第三:无法为客户端提供就近接入的问题,因为是整个系统是一个单机程序结构,只能部署在一个机房,这就导致处于不同地域的客户端在连接时跨地域较大,连接质量也难以保证。
本提案提供的实时聊天系统分部署方法,通过将系统进行分层,借助redis消息订阅服务来传递系统内部消息,可以达到聊天服务节点的分部署部署,从而解决上述存在的三个问题。
因此,研制一种分布式结构、可横向扩展和易于实现客户端就近接入的聊天系统及方法是非常必要的,并且该发明也有重要的应用前景。
发明内容
本发明针对上述现有技术存在的问题作出改进,即本发明的第一个目的在于公开一种基于Redis订阅服务的分布式实时聊天系统的实现方法,本发明的第二个目的在于公开基于Redis订阅服务的分布式实时聊天系统,采用分布式结构、可横向扩展和易于实现客户端就近接入。
为了实现上述目标,本发明所采用的技术方案是:
一种基于Redis订阅服务的分布式实时聊天系统的实现方法,其特征在于,包括以下步骤:
S1、建立每一个后端节点与Redis数据库之间的消息订阅/发布通道;
建立每一个前端节点与Redis数据库之间的消息订阅/发布公共通道;
S2、客户端与前端节点建立连接,通过连接发送聊天数据到前端节点;
S3、前端节点检查维护在自身内存中的后端节点可用列表,剔除其中不可用的节点,仅保留可用的后端节点;
S4、前端节点从后端节点可用列表中随机选择一个可用的后端节点,根据步骤S1中建立的后端节点与Redis数据库之间的消息订阅/ 发布通道,向Redis数据库发布从客户端收到的聊天数据;
S5、后端节点通过订阅的Redis的消息订阅通道收到聊天数据,然后由后端节点对该聊天数据进行处理;
S6、后端节点通过步骤S1中建立的消息订阅/发布公共通道向所有的前端节点发布本条聊天数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创盛视联数码科技(北京)有限公司,未经创盛视联数码科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810009781.9/2.html,转载请声明来源钻瓜专利网。





