申请/专利权人:奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司
申请日:2019-12-31
公开(公告)日:2024-06-07
公开(公告)号:CN113127221B
主分类号:G06F9/54
分类号:G06F9/54
优先权:
专利状态码:有效-授权
法律状态:2024.06.07#授权;2024.05.28#著录事项变更;2021.08.03#实质审查的生效;2021.07.16#公开
摘要:本发明公开了一种限制消息消费速率的方法、装置、设备及存储介质,所述方法包括:当驱动节点按照设定时间间隔定期创建多个消息任务时,获取Kafka的各个分区的消息积压量;获取预先配置的消息消费总速率;根据所述消息消费总速率以及每个分区的消息积压量,按照比例计算出每个分区的消息消费速率;分别将每个分区的消息消费速率添加到对应的消息任务中,并将所述多个消息任务发送至Spark中对应的执行节点,以供执行节点按照消息任务中的消息消费速率从对应的分区中获取消息;本发明能够根据各个分区的积压数据量确定出各个分区的消息消费速率,并将所有分区的消息消费速率的总和控制在设定的消息消费总速率之内。
主权项:1.一种限制消息消费速率的方法,其特征在于,应用于Spark中的驱动节点,所述方法包括:当所述驱动节点按照设定时间间隔定期创建多个消息任务时,获取Kafka的各个分区的消息积压量;其中,一个消息任务对应一个分区,所述消息积压量为分区中未处理的消息数量;获取预先配置的消息消费总速率;根据所述消息消费总速率以及每个分区的消息积压量,按照比例计算出每个分区的消息消费速率;其中,所有分区的消息消费速率的总和小于等于所述消息消费总速率;分别将每个分区的消息消费速率添加到对应的消息任务中,并将所述多个消息任务发送至Spark中对应的执行节点,以供执行节点按照消息任务中的消息消费速率从对应的分区中获取消息;其中,所述分别将每个分区的消息消费速率添加到对应的消息任务中的步骤,具体包括:针对一个消息任务,确定出与所述消息任务对应的分区的消息消费速率,并确定出与所述消息任务对应的执行节点的反压消费速率;其中,所述反压消费速率是利用Spark的反压机制计算出的所述执行节点的最大消费速率;获取预先为所有分区配置的统一的最大消费速率;从与所述消息任务对应的消息消费速率、反压消费速率和所述最大消费速率中确定出最小消费速率,并将所述最小消费速率添加到所述消息任务中。
全文数据:
权利要求:
百度查询: 奇安信科技集团股份有限公司;奇安信网神信息技术(北京)股份有限公司 一种限制消息消费速率的方法、装置、设备及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。