[发明专利]消息中间件的消息传递方法、装置、电子设备及存储介质在审
| 申请号: | 201811185360.8 | 申请日: | 2018-10-11 |
| 公开(公告)号: | CN109614245A | 公开(公告)日: | 2019-04-12 |
| 发明(设计)人: | 姜楠 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京智信四方知识产权代理有限公司 11519 | 代理人: | 钟文芳;宋海龙 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 目标消息 消息中间件 重试策略 消息传递 消息订阅 运行状态 存储介质 电子设备 服务器开销 动态确定 消息队列 放入 重试 传递 监测 | ||
本公开实施例公开了一种消息中间件的消息传递方法、装置、电子设备及存储介质。其中,所述消息中间件的消息传递方法包括:在监测到目标消息的重试事件后,获取所述目标消息的消息订阅者的运行状态;根据所述运行状态确定所述目标消息的重试策略;其中所述重试策略用于标识所述目标消息重新被发送给所述消息订阅者所要满足的条件;将所述重试策略以及所述目标消息重新放入所述消息中间件的消息队列。本公开的这种方式,可以基于消息订阅者的运行状态动态确定重试策略,并促使消息中间件基于重试策略重新传递目标消息,能够减少不必要的服务器开销。
技术领域
本公开涉及计算机技术领域,具体涉及一种消息中间件的消息传递方法、装置、电子设备及存储介质。
背景技术
消息中间件是一种利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。消息中间件在传递消息时,采用消息重试机制确保消息被送达消息订阅者,也即订阅消息的一端。当消息订阅者由于异常或回滚导致消息消费失败时,消息中间件会将该消息重新入队。本公开发明人发现,目前消息中间件对于消息的重试机制是一种固定的机械重试机制,无法通过软件的实际运行情况进行调整。而消息订阅者在运行期间可能因为各种各样的原因,造成一定时间的不可用。当明知道消息订阅者当前不可用,还进行消息重试,对服务器造成的压力是没有意义的。
发明内容
本公开实施例提供一种消息中间件的消息传递方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种消息中间件的消息传递方法。
具体的,所述消息中间件的消息传递方法,包括:
在监测到目标消息的重试事件后,获取所述目标消息的消息订阅者的运行状态;
根据所述运行状态确定所述目标消息的重试策略;其中所述重试策略用于标识所述目标消息重新被发送给所述消息订阅者所要满足的条件;
将所述重试策略以及所述目标消息重新放入所述消息中间件的消息队列。
进一步地,所述在监测到目标消息的重试事件后,获取所述目标消息的消息订阅者的运行状态之前,包括:
将所述目标消息发送给所述消息订阅者。
进一步地,所述将所述重试策略以及所述目标消息重新放入所述消息中间件的消息队列之后,包括:
根据所述重试策略重新将所述目标消息发送给所述消息订阅者。
进一步地,所述重试策略包括重新发送所述目标消息的延迟时间以及剩余次数。
进一步地,所述消息中间件的消息传递方法,还包括:
根据所述消息订阅者处理消息时发生异常的情况确定所述消息订阅者的运行状态。
进一步地,所述根据所述消息订阅者处理消息时发生异常的情况确定所述消息订阅者的运行状态,包括:
根据所述消息订阅者处理消息时在第一预定时间段内发生异常的比例确定所述消息订阅者的运行状态;或者,
根据所述消息订阅者处理消息时在第二预定时间段内发生异常的频率确定所述消息订阅者的运行状态。
第二方面,本公开实施例提供了一种消息中间件的消息传递装置,包括:
获取模块,被配置为在监测到目标消息的重试事件后,获取所述目标消息的消息订阅者的运行状态;
第一确定模块,被配置为根据所述运行状态确定所述目标消息的重试策略;其中所述重试策略用于标识所述目标消息重新被发送给所述消息订阅者所要满足的条件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811185360.8/2.html,转载请声明来源钻瓜专利网。





