[发明专利]消息投递限流方法和装置、电子设备有效
申请号: | 201811150600.0 | 申请日: | 2018-09-29 |
公开(公告)号: | CN109597694B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 刘翔;岳明亮 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 投递 限流 方法 装置 电子设备 | ||
本说明书一个或多个实施例提供一种消息投递限流方法和装置、电子设备,所述方法包括:从消息发布者获取待投递的目标消息;响应于所述目标消息,确定是否触发了针对与所述目标消息对应的消息订阅者的消息投递限流;如果是,则基于预设的限流值对所述目标消息进行限流处理,并根据限流处理结果确定是否向所述消息订阅者投递所述目标消息;其中,所述预设的限流值为基于所述消息订阅者在单位时间段内的消息处理能力进行周期性计算得到的动态限流值。
技术领域
本说明书一个或多个实施例涉及计算机应用技术领域,尤其涉及一种消息投递限流方法和装置、电子设备。
背景技术
在消息投递系统中,通常可以包括发送消息的消息发布者、接收消息的消息订阅者,以及支持从消息发布者接收消息并投递至消息订阅者的消息中间件。消息中间件可以响应于从消息发布者获取到的待投递至消息订阅者的消息,将该消息投递至消息订阅者。然而,在消息中间件对消息订阅者进行消息投递的过程中,如果连续多次的投递结果都是投递失败,则可以触发消息中间件针对消息订阅者的消息投递限流。
发明内容
本说明书提供一种消息投递限流方法,所述方法应用于消息中间件,包括:
从消息发布者获取待投递的目标消息;
响应于所述目标消息,确定是否触发了针对与所述目标消息对应的消息订阅者的消息投递限流;
如果是,则基于预设的限流值对所述目标消息进行限流处理,并根据限流处理结果确定是否向所述消息订阅者投递所述目标消息;其中,所述预设的限流值为基于所述消息订阅者在单位时间段内的消息处理能力进行周期性计算得到的动态限流值。
本说明书还提供一种消息投递限流装置,所述装置应用于消息中间件,包括:
获取模块,用于从消息发布者获取待投递的目标消息;
第一确定模块,用于响应于所述目标消息,确定是否触发了针对与所述目标消息对应的消息订阅者的消息投递限流;
限流模块,用于如果是,则基于预设的限流值对所述目标消息进行限流处理,并根据限流处理结果确定是否向所述消息订阅者投递所述目标消息;其中,所述预设的限流值为基于所述消息订阅者在单位时间段内的消息处理能力进行周期性计算得到的动态限流值。
本说明书还提供一种电子设备,所述电子设备包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与用户注册的控制逻辑对应的机器可执行指令,所述处理器被促使:
从消息发布者获取待投递的目标消息;
响应于所述目标消息,确定是否触发了针对与所述目标消息对应的消息订阅者的消息投递限流;
如果是,则基于预设的限流值对所述目标消息进行限流处理,并根据限流处理结果确定是否向所述消息订阅者投递所述目标消息;其中,所述预设的限流值为基于所述消息订阅者在单位时间段内的消息处理能力进行周期性计算得到的动态限流值。
在上述技术方案中,由于消息中间件针对消息订阅者进行消息投递限流时所使用的限流值,是基于该消息订阅者在单位时间段内的消息处理能力进行周期性计算得到的动态限流值,因此不仅可以避免无法及时检测到消息订阅者的消息处理能力恢复的问题,还可以避免消息订阅者在被限流和限流恢复两种状态之间震荡的问题,从而可以提高消息投递系统的可靠性和稳定性。
附图说明
图1是本说明书一示例性实施例示出的一种消息投递系统的示意图;
图2是本说明书一示例性实施例示出的一种消息投递限流方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811150600.0/2.html,转载请声明来源钻瓜专利网。