The invention provides an instant communication method, server and message middleware, in which the method includes: the first server receives the first message sent by the first client of the first user, and obtains the second client according to the identity information of the second user on the second client on the first message. The corresponding second server identification information, then the second server identification information and the first message to the message middleware, the message middleware based on the identification information forwarding the first message to the second server, and then the second server to send the first message to the second client. By forwarding messages between two servers in need of the existing message middleware in the cluster, the communication between the clients is realized, the direct connection between two servers is not needed, the message transmission mechanism between the clients is changed, the new middleware is not needed, and the cost of the hardware is reduced.
【技术实现步骤摘要】
即时通信方法、服务器和消息中间件
本专利技术涉及通信
,尤其涉及一种即时通信方法、服务器和消息中间件。
技术介绍
即时通信是一种实时通信服务。在企业内,即时通信通常作为日常办公软件,需要满足高吞吐、低延迟的要求,所以即时通信服务通常需要部署多台服务器,通过多台服务器构成集群模式,以满足上述需求。目前,在即时通信中客户端需要与服务器之间建立长连接,然后需要通信的服务器之间通过第三方中间件来实现客户端之间的通信。具体地,第三方中间件可以检测服务器是否上线,当检测到服务器上线后,可以采集到服务器的地址信息。当两个服务器之间需要通信时,第三方中间件将需要通信的两个服务器各自的地址信息反馈给对方,使得两个服务器根据对方的地址信息进行直接连接,连接后的两个服务器就可以直接进行通信。其中,第三方中间件可以为zookeeper、consul、etcd等中间件。但是,引入第三方中间件会占用更多的硬件资源,增加成本。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种即时通信方法,以通过集群中现有的消息中间件,转发需要 ...
【技术保护点】
一种即时通信方法,其特征在于,包括:第一服务器接收登录有第一用户的第一客户端发送的第一消息;其中,所述第一消息中携带有登录在第二客户端上的第二用户的身份信息;所述第一服务器根据所述第二用户的身份信息,获取所述第二客户端对应的第二服务器的标识信息;所述第一服务器将所述第二服务器的标识信息和所述第一消息发送给消息中间件,并由所述消息中间件根据所述标识信息将所述第一消息转发给所述第二服务器,由所述第二服务器转发给所述第二客户端。
【技术特征摘要】
1.一种即时通信方法,其特征在于,包括:第一服务器接收登录有第一用户的第一客户端发送的第一消息;其中,所述第一消息中携带有登录在第二客户端上的第二用户的身份信息;所述第一服务器根据所述第二用户的身份信息,获取所述第二客户端对应的第二服务器的标识信息;所述第一服务器将所述第二服务器的标识信息和所述第一消息发送给消息中间件,并由所述消息中间件根据所述标识信息将所述第一消息转发给所述第二服务器,由所述第二服务器转发给所述第二客户端。2.根据权利要求1所述的方法,其特征在于,所述第一服务器接收登录有第一用户的第一客户端发送的第一消息之前,还包括:所述第一服务器在上线时通过所述消息中间件,采集处于上线状态的各第二服务器的登录信息;其中,所述第二服务器的登录信息包括所述第二服务器的标识信息和登录在所述第二客户端上的所述第二用户的身份信息;所述第一服务器将所述处于上线状态的各第二服务器的登录信息,更新到在线用户信息中。3.根据权利要求2所述的方法,其特征在于,所述第一服务器在上线时通过所述消息中间件,采集处于上线状态的各第二服务器的登录信息,包括:所述第一服务器向所述消息中间件订阅广播队列;所述第一服务器在上线时,通过所述广播队列,从所述消息中间件中接收所述处于上线状态的各第二服务器的登录信息;其中,所述第二服务器的登录信息是由所述第二服务器通过订阅的所述广播队列广播给所述消息中间件的。4.根据权利要求3所述的方法,其特征在于,还包括:所述第一服务器通过所述广播队列,接收由主服务器广播的所述第二服务器的下线消息;其中,所述下线消息是由所述主服务器在监控到所述第二服务器下线时发送的;所述第一服务器根据所述第二服务器的下线消息,将所述第二服务器的所述登录信息,从所述在线用户信息中删除。5.根据权利要求3所述的方法,其特征在于,还包括:所述第一服务器在上线时,通过所述广播队列向所述消息中间件广播所述第一服务器的上线消息。6.根据权利要求5所述的方法,其特征在于,所述第一服务器...
【专利技术属性】
技术研发人员:赵研,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:辽宁,21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。