分布式消息广播通知实现方法技术

技术编号:23608768 阅读:80 留言:0更新日期:2020-03-28 08:54
本发明专利技术提供一种分布式消息广播通知实现方法,包括以下步骤:加入集群中的节点请求消息中心订阅公共主题;节点再次请求消息中心订阅属于每个节点的私有主题;消息发送者在发送消息前请求消息中心,获取当前订阅公共主题的客户端数量,请求数据中心发送到公共主题;消息发送者将消息体发送后,等待来自私有主题上的消息,其中等待到至少M条消息,如果在指定时间内未等到预期数量的消息,判定为执行超时;集群内的节点接收到来自公共主题的消息后,根据消息中的标识信息以发出响应或者不做响应。本发明专利技术基于长连接的通信,并且解耦节点与节点间的依赖,可实现节点上下线状态可以快速被消息中心感知到,不影响消息到达。

Implementation of distributed message broadcast notification

【技术实现步骤摘要】
分布式消息广播通知实现方法
本专利技术涉及消息广播与处理领域,具体而言涉及一种分布式消息广播通知实现方法。
技术介绍
在应用开发过程中,经常会遇到向集群内的其他节点或者服务发送消息通知,并且需要同步等待接收方处理结果的业务需求,例如节点本地某个人员信息的缓存,当在另一个节点删除该人员时需要通知其他节点删除本地缓存。目前,针对此类业务需求,在一些实施方式中,主要通过注册中心获取到集群内的所有节点,然后进行遍历定向通知,通知方式有HTTP、RPC(如dubbo)协议,如图1所示,其流程如下:节点加入集群后,向注册中心发起请求,将节点注册到注册中心;节点定时向注册中心发起心跳请求,汇报在线状态;节点需要发起广播通知时,需要从注册中心拉取当前在线的所有节点信息;遍历所有在线的节点,发起通知,例如请求其他的http接口;等待所有节点通知完毕,完成本次消息广播通知。但我们现有技术的消息通知实现过程来看,以上通知方式属于短连接方案,建立连接的成本较高,效率较低;而且节点之间会直接产生依赖,如果节点数量较多,通信成本会大幅提高;同时还存在注册中本文档来自技高网...

【技术保护点】
1.一种分布式消息广播通知实现方法,其特征在于,包括:/n步骤1、加入集群中的节点请求消息中心订阅公共主题;/n步骤2、节点再次请求消息中心订阅属于每个节点的私有主题;/n步骤3、消息发送者在发送消息前请求消息中心,获取当前订阅公共主题的客户端数量,记为client_count,如果订阅公共主题的客户端数量小于或等于1,则取消发送消息;如果订阅公共主题的客户端数量大于1,则由消息发送者组装消息体,包含消息内容和发送者标识,请求数据中心发送到公共主题;/n步骤4、消息发送者将消息体发送后,等待来自私有主题上的消息,其中等待到至少M条消息,其中M=client_count-1,如果在指定时间内未等...

【技术特征摘要】
1.一种分布式消息广播通知实现方法,其特征在于,包括:
步骤1、加入集群中的节点请求消息中心订阅公共主题;
步骤2、节点再次请求消息中心订阅属于每个节点的私有主题;
步骤3、消息发送者在发送消息前请求消息中心,获取当前订阅公共主题的客户端数量,记为client_count,如果订阅公共主题的客户端数量小于或等于1,则取消发送消息;如果订阅公共主题的客户端数量大于1,则由消息发送者组装消息体,包含消息内容和发送者标识,请求数据中心发送到公共主题;
步骤4、消息发送者将消息体发送后,等待来自私有主题上的消息,其中等待到至少M条消息,其中M=client_count-1,如果在指定时间内未等到预期数量的消息,判定为执行超时;
步骤5、集群内的节点接收到来自公共主题的消息后,根据消息中的标识信息以发出响应或者不做响应。


2.根据权利要求1所述的分布式消息广播通知实现方法,其特征在于,在所述步骤5中,接收到来自公共主体的消息的节点首先根...

【专利技术属性】
技术研发人员:杨帆张东冬师铭
申请(专利权)人:南京甄视智能科技有限公司
类型:发明
国别省市:江苏;32

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

1