[发明专利]基于MQ的智能限流方法、装置及计算机可读介质在审
申请号: | 202110078958.2 | 申请日: | 2021-01-21 |
公开(公告)号: | CN112398748A | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 白志新 | 申请(专利权)人: | 全时云商务服务股份有限公司 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/851 |
代理公司: | 北京惟盛达知识产权代理事务所(普通合伙) 11855 | 代理人: | 董鸿柏 |
地址: | 100102 北京市东城区青*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mq 智能 限流 方法 装置 计算机 可读 介质 | ||
本发明公开了一种基于MQ的智能限流方法、装置及计算机可读介质,其中方法包括:定义消息的流量级别;创建用于限制对应流量级别的消息的至少一个流量限制器和用于对各流量限制器进行限流管理的流量限制管理器;将业务产生的消息归类为对应的流量级别;流量限制管理器根据需要限制的消息的流量级别,获取可限制该流量级别的消息的流量限制器;流量限制器对达到限流条件的消息进行限流。本发明可按照不同的业务需求,将消息划分为不同的流量级别,并且可对不同流量级别的消息进行单独限流或者按照优先级进行限流,实现了对消息的有区别限流,避免了常规的限流方法对所有消息进行无区别限流可能引发系统无法正常运行等情况的发生。
技术领域
本发明涉及计算机技术领域,具体涉及一种基于MQ的智能限流方法、装置及计算机可读介质。
背景技术
MQ(Message Queue),即消息队列引擎,其把传输的数据(消息)放在队列中,用队列机制来实现消息的传递——生产者产生消息并把消息放入队列,消费者到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给消费者推送消息。
限流就是限制系统输入和输出的消息流量,以达到保护系统的目的。一般而言,系统的吞吐量是可以被测算的,在流量达到过载阈值时,需要采取一些限制流量的措施,比如数据延迟处理、拒绝处理或者部分拒绝处理等,以保证系统稳定运行。
令牌桶算法是目前使用较多地一种限流方法。图10示出了令牌桶算法的限流原理图,如图10所示,令牌桶算法进行限流的工作原理为:通过一个可存放固定容量令牌(token)的桶(假设桶最多可存放b个令牌),按照固定速率往桶里添加令牌,比如每秒往桶里放入10个令牌,当桶满时,新添加的令牌被丢弃或拒绝放入。当一个n字节大小的消息包到达时,将从桶中删除n个令牌,接着消息包被直接使用。如果桶中的令牌数量不足n个,则不会从桶里删除令牌,且该消息包将被限流(通常要么被丢弃,要么放入缓冲区等待)而无法被直接使用。
现有的限流方法比如令牌桶算法在限流时存在以下两个问题:
一是只能对消息进行无差别的限流处理,只要消息达到限流条件,消息将无区别的被限流;
二是被限流(比如被丢弃)的消息中如果存在关键消息,这些关键消息被丢弃后会对业务产生不利影响,系统可能无法正常运行或者某些功能将无法正常使用。
发明内容
本发明的目的在于提供一种基于MQ的智能限流方法,可按照不同的业务需求,将消息划分为不同的流量级别,并且可对不同流量级别的消息进行单独限流或者按照优先级进行限流,实现了对消息的有区别限流,避免了常规的限流方法对所有消息进行无区别限流可能引发系统无法正常运行等情况的发生。
为达此目的,本发明采用以下技术方案:
提供一种基于MQ的智能限流方法,具体步骤包括:
1)定义消息的流量级别;
2)创建用于限制对应流量级别的消息的至少一个流量限制器和用于对各所述流量限制器进行限流管理的流量限制管理器;
3)将业务产生的所述消息归类为对应的流量级别;
4)所述流量限制管理器根据需要限制的所述消息的流量级别,获取可限制该流量级别的所述消息的所述流量限制器;
5)所述流量限制器对达到限流条件的所述消息进行限流。
作为本发明的一种优选方案,所述消息的流量级别包括总流体消息流量级别、会议消息流量级别、Topic消息流量级别、客户端消息流量级别中的任意一种或多种。
作为本发明的一种优选方案,步骤3)中,将业务产生的所述消息归类为对应的流量级别的方法步骤为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于全时云商务服务股份有限公司,未经全时云商务服务股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110078958.2/2.html,转载请声明来源钻瓜专利网。