CN110493071B - 消息系统资源均衡装置、方法及设备 - Google Patents

消息系统资源均衡装置、方法及设备 Download PDF

Info

Publication number
CN110493071B
CN110493071B CN201810463407.6A CN201810463407A CN110493071B CN 110493071 B CN110493071 B CN 110493071B CN 201810463407 A CN201810463407 A CN 201810463407A CN 110493071 B CN110493071 B CN 110493071B
Authority
CN
China
Prior art keywords
kafka
cluster
kafka cluster
engine
indexes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810463407.6A
Other languages
English (en)
Other versions
CN110493071A (zh
Inventor
李志勇
方炜
李伟
陈挺
李海传
徐艳杰
赵时祥
高晶晶
成阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Zhejiang Innovation Research Institute Co ltd
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201810463407.6A priority Critical patent/CN110493071B/zh
Publication of CN110493071A publication Critical patent/CN110493071A/zh
Application granted granted Critical
Publication of CN110493071B publication Critical patent/CN110493071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种消息系统资源均衡装置、方法及设备,均衡装置包括负载监视引擎、分析引擎和操作执行引擎;负载监视引擎用于从Kafka集群中采集Kafka指标,并将Kafka指标发送至分析引擎;分析引擎用于根据Kafka指标、Kafka集群的硬性目标和Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将第一均衡方案发送至操作执行引擎,其中,硬性目标为若干个Kafka集群必须实现的目标,软性目标为若干个Kafka集群优选实现的目标;操作执行引擎,用于根据第一均衡方案生成若干个操作指令,并将若干个操作指令发送至Kafka集群以供Kafka集群根据操作指令进行资源均衡。本发明能够以硬、软性目标为核心依据,执行资源自动均衡操作,提升消息系统的性能和用户体验。

Description

消息系统资源均衡装置、方法及设备
技术领域
本发明实施例涉及云计算技术领域,更具体地,涉及一种消息系统资源均衡装置、方法及设备。
背景技术
随着云计算在各行各业的深入应用,应用系统、租户规模越来越大以及对系统之间交互的实时性、平台数据和应用性能数据消费实时性要求也越来越高,特别在电信、金融领域,其核心业务系统运行在云平台上、对于大规模应用系统的平台数据和应用业务性能数据实时性提出更高的要求,对此,云管理平台也面临新的挑战:底层技术复杂、子系统繁多、系统间交互频繁、数据量大。消息系统作为云管平台各子系统之间异步交互的重要组件,负责平台实时数据、历史数据,业务指标实时数据、历史数据以及平台之间数据交互等功能。
随着IaaS、PaaS和SaaS等资源的全纳管,被管平台、被管业务系统规模越来越大,消息系统集群每天需要处理几十万条甚至上百万条消息,如此大规模的消息量,任意一个消息系统服务(Broker)的消息处理失败,都会导致我们整体集群负载不均衡,甚至引起“雪崩”效应。由此会造成平台实时数据无法采集、更新;资源(容器、虚拟机、物理机、数据库等)无法申请开通;历史数据、业务指标数据无法被及时消费等,这些问题会直接影响平台的可靠性和租户的使用感知。因此,为保证消息系统集群均衡和可用性,需要花费大量的时间和精力重新分配分区、重新均衡副本。
这些问题反映了现阶段的消息系统处理能力无法满足爆炸性增长的数据要求。
针对上述问题,目前常见的处理技术有以下几种:第一种是预先设置足够数量的消息主题分区,但这种方法无法实现分区均衡。第二种是将不同类型的消息数据通过不同主题区分来满足业务需求;需要创建很多主题,因此会带来额外的管理成本。而针对实时数据、历史数据消费,只能通过手动增加消息消费进程来满足,数量少的时间减少消息消费进程,这种方式无法实现资源自动动态扩展(缩放),资源利用率低。
综上可知,现有的技术具有如下缺陷:首先需要对消息系统预先设定每个消息Topic分区大小以及每个Broker资源利用率,不能实时进行调整,容易造成消息副本不均衡。而且对实时性能数据无法第一时间获取。
发明内容
针对现有技术存在的问题,本发明实施例提供一种消息系统资源均衡装置、方法及设备。
本发明实施例提供一种消息系统资源均衡装置,包括负载监视引擎、分析引擎以及操作执行引擎;所述负载监视引擎,用于从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎,用于根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至所述操作执行引擎,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎,用于根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
本发明实施例提供一种消息系统资源均衡方法,包括:负载监视引擎从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至操作执行引擎,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
本发明实施例提供一种消息系统资源均衡设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述均衡方法。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述均衡方法。
本发明实施例提供的消息系统资源均衡装置、方法及设备,通过在分析引擎中生成第一均衡方案,能够以硬性目标和软性目标为核心依据,动态执行资源自动均衡操作,有效均衡服务器资源的利用率,提升消息系统的性能,大大提高消息系统的高可用和健壮性;提高业务指标数据和平台性能数据的展示实时性,真实反映系统的健康情况以及实时反馈业务操作的结果,满足租户对平台和业务数据的实效性要求,提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的Kafka消息系统架构图;
图2为本发明消息系统资源均衡装置实施例的模块图;
图3为本发明实施例中的又一消息系统资源均衡装置模块图;
图4为本发明消息系统资源均衡方法实施例的流程图;
图5为本发明实施例中的消息系统资源均衡设备的框架示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例中的Kafka消息系统架构图,请参考图1,本发明实施例是基于包括生产者Producer、订阅者Consumer以及集群的Kafka消息系统,其中,Kafka集群中涵盖若干个主题Topic、每一Topic包括若干个分区Partition,所述Kafka集群中包括若干个实例Broker,每一Broker中包括若干个分区副本。
需要说明的是,本发明实施例中的若干个指代一个或者多个。
图2为本发明消息系统资源均衡装置实施例的模块图,如图2所示,包括负载监视引擎201、分析引擎202以及操作执行引擎203;所述负载监视引擎201,用于从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎202,用于根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至所述操作执行引擎203,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎203,用于根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
需要说明的是,在所述均衡装置中,负载监视引擎201与分析引擎202相连,分析引擎202与操作执行引擎203相连。
具体地,在所述分析引擎202中,出现的硬性目标和软性目标分别如下:
1、硬性目标:
1)分区副本配置必须是机架可识别的。相同分区副本放在不同的机架上,这样当某个机架停机时,任何分区最多会有一个副本丢失。这有助于控制故障边界,并使Kafka更加健壮。
2)Broker的资源利用率必须在预定义的阈值内。
3)即使Broker上的所有分区副本都成为leader,也不能允许网络利用超出预先定义的容量。在这种情况下,所有的订阅者流量将被重定向到该Broker,这将导致比平常更高的网络利用率。
2、软性目标:
1)在所有Broker之间实现尽可能一致的资源利用率。
2)在Broker之间实现leader分区的均匀字节输入速率。
3)将特定主题的分区均匀分配到所有Broker上。
4)将分区副本均匀分配到所有Broker上。
需要说明的是,各个订阅者之间存在优先级,而均衡装置是以优先级递减的顺序保证各个硬性目标和软性目标的。
进一步地,本实施例的消息系统资源均衡装置的工作流程如下所述:负载监视引擎201从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202。分析引擎202通过所述Kafka指标,以及所述Kafka集群的硬性目标和软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至所述操作执行引擎203。所述操作执行引擎203根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
进一步地,分析引擎202中生成的第一均衡方案是需要满足全部的硬性目标的。
本发明实施例提供的消息系统资源均衡装置,通过在分析引擎202中生成第一均衡方案,能够以硬性目标和软性目标为核心依据,动态执行资源自动均衡操作,有效均衡服务器资源的利用率,提升消息系统的性能,大大提高消息系统的高可用和健壮性;提高业务指标数据和平台性能数据的展示实时性,真实反映系统的健康情况以及实时反馈业务操作的结果,满足租户对平台和业务数据的实效性要求,提升用户体验。
基于上述实施例,所述消息装置还包括异常检测引擎,用于根据所述负载监视引擎201发送的所述Kafka指标,对所述Kafka集群中的异常进行检测,获得异常检测结果,并将所述异常检测结果发送至所述分析引擎202;对应的,所述根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,具体包括:根据所述Kafka指标、所述异常检测结果以及所述Kafka集群的硬性目标和软性目标,生成对应于所有订阅者的第一均衡方案。
具体地,在Kafka集群中会出现种种异常,通过异常检测引擎对Kafka集群中的异常进行检测,并将检测结果发送至所述分析引擎202。这样在分析引擎202生成第一均衡方案时也会考虑到该检测结果。
需要说明的是,检测结果反映了Kafka集群中的异常情况,可举例为:非空xxBroker离群等。
基于上述实施例,所述根据所述负载监视引擎201发送的所述Kafka指标,对所述Kafka集群中的异常进行检测,获得异常检测结果,具体包括:根据所述负载监视引擎201发送的所述Kafka指标,对所述Kafka集群中的非空Broker离群,以及所述Kafka集群中违反所述硬性目标和所述软性目标的情况进行检测,获得异常检测结果。
需要说明的是,本实施例具体是指,异常情况包括非空Broker离群,以及Kafka集群中违反所述硬性目标和所述软性目标的情况。
非空Broker离群会导致分区副本数不足。因为这可能会在正常的集群恢复期间发生,所以异常检测引擎在触发通知并修复集群之前提供可配置的宽限期。
本发明实施例提供的消息系统资源均衡装置,通过设置根据Broker故障和违反目标将主动尝试通过自动分析工作负载并执行第一均衡方案来解决目标违反,解决了现有技术中随着业务量的快速增长,每天需要处理GB甚至TB数据量,消息处理出现严重延迟、平台和业务数据无法实时展现给租户,因此可能导致平台和业务系统故障发生,不能及时产生告警的问题。本发明利用分区自动均衡提高消息系统的业务吞吐量、减少数据延迟,提升业务系统用户体验。
基于上述实施例,所述从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息,具体包括:从Kafka集群中采集Kafka指标,通过所述Kafka指标生成集群工作负载模型,并将所述集群工作负载模型发送至所述分析引擎202和所述异常检测引擎;其中,所述Kafka指标包括Kafka集群整体负载信息、Kafka集群性能指标数据、Kafka集群分区的数量、Kafka集群分区分布信息以及Kafka集群分区数据均衡信息;所述集群工作负载模型包括Kafka集群的磁盘利用率,Kafka集群的CPU利用率以及Kafka集群的字节输入和输出速率。
需要说明的是,本实施例是指,负载监视引擎201基于Kafka指标生成集群工作负载模型,分析引擎202和异常检测引擎是接收负载监视引擎201发送的集群工作负载模型的,集群工作负载模型反映了Kafka集群的负载以及工作等信息。
本发明实施例提供的消息系统资源均衡装置,通过设置负载监视引擎201基于Kafka指标生成集群工作负载模型,能够使得最终生成的第一均衡方案准确适用。
基于上述实施例,所述分析引擎202,还用于通过所述Kafka指标,以及所述Kafka集群的硬性目标和软性目标,在所述Kafka集群违反了任一硬性目标时,生成对应于所有订阅者的第二均衡方案,并将所述第二均衡方案发送至所述操作执行引擎203。
需要说明的是,本实施例是在前次执行第一均衡方案时,违反了硬性目标的前提下,再生成一个第二均衡方案,在这里,违反了硬性目标是通过异常检测引擎检测的。
基于上述实施例,所述Kafka集群根据所述操作指令进行资源均衡,包括:所述Kafka集群根据所述操作指令进行Kafka集群分区扩容、Kafka集群分区重分配以及Kafka集群分区副本重分配中的至少一种,以使得所述Kafka集群资源均衡。
需要说明的是,本发明实施例中的若干个操作指令的指示操作包括Kafka集群分区扩容、Kafka集群分区重分配以及Kafka集群分区副本重分配中的至少一种,是一种优选方案,本发明还保护包括其它指示操作的方案。
本发明实施例提供的消息系统资源均衡装置,通过设置操作执行引擎203将操作指令发送至所述Kafka集群中以对所述Kafka集群进行Kafka集群分区扩容、Kafka集群分区重分配以及Kafka集群分区副本重分配中的至少一种,以使得资源均衡,能够实现Kafka消息系统的资源自动均衡,增强数据的高可用,避免数据丢失,从而达到最高业务吞吐量、减少数据阻塞时间,提升业务系统用户体验。
基于上述实施例,所述均衡装置还包括数据采集器,所述数据采集器包括Workload收集器、Metrics收集器和Partition收集器;所述Workload收集器用于采集所述Kafka集群整体负载信息;所述Metrics收集器用于采集Kafka集群性能指标数据;所述Partition收集器用于采集所述Kafka集群分区的数量、所述Kafka集群分区分布信息以及所述Kafka集群分区数据均衡信息。
需要说明的是,本实施例中的数据采集器是采集上述实施例中提出的Kafka指标的。
进一步地,本发明实施例中提出的数据采集器包括Workload收集器、Metrics收集器和Partition收集器,是一种优选情况,本发明还保护包括其它种收集器的方案。
本发明实施例提供的消息系统资源均衡装置,通过设置数据采集器包括Workload收集器、Metrics收集器和Partition收集器,能够采集更加准确的Kafka指标,大大提升了消息系统各个Broker资源利用率。
作为一个优选实施例,图3为本发明实施例中的又一消息系统资源均衡装置模块图,如图3所示,包括负载监视引擎201、分析引擎202以及操作执行引擎203;所述负载监视引擎201,用于从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎202,用于根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至所述操作执行引擎203,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎203,用于根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
还包括异常检测引擎,用于根据所述负载监视引擎201发送的所述Kafka指标,对所述Kafka集群中的异常进行检测,获得异常检测结果,并将所述异常检测结果发送至所述分析引擎202;对应的,所述根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,具体包括:根据所述Kafka指标、所述异常检测结果以及所述Kafka集群的硬性目标和软性目标,生成对应于所有订阅者的第一均衡方案。
所述均衡装置还包括数据采集器,所述数据采集器包括Workload收集器、Metrics收集器和Partition收集器;所述Workload收集器用于采集所述Kafka集群整体负载信息;所述Metrics收集器用于采集Kafka集群性能指标数据;所述Partition收集器用于采集所述Kafka集群分区的数量、所述Kafka集群分区分布信息以及所述Kafka集群分区数据均衡信息。
本发明实施例提供的消息系统资源均衡装置,通过引入数据采集器、负载监视引擎201、异常检测引擎、分析引擎202和操作执行引擎203,能够实现消息系统分区、分区副本以及Broker资源自动均衡,提高Broker服务器资源利用率,该装置实现了各引擎之间的高度解耦,满足分布式部署的要求,并且借助全方位的采集器能够精准判断各Broker资源使用情况,使得业务系统能够运行在最佳性能的环境中,提升业务系统稳定性及用户体验。本发明实施中的均衡装置使得Kafka消息系统可靠、具有强处理能力和高吞吐量,满足了不断发展的云管平台的业务需求。
基于上述实施例,图4为本发明消息系统资源均衡方法实施例的流程图,如图4所示,包括:S401、负载监视引擎201从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;S402、所述分析引擎202根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至操作执行引擎203,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;S403、所述操作执行引擎203根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
基于上述实施例,图5为本发明实施例中的消息系统资源均衡设备的框架示意图。请参考图5,本发明实施例提供一种消息系统资源均衡设备,包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和总线540,其中,处理器510,通信接口520,存储器530通过总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法,包括:负载监视引擎201从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎202根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至操作执行引擎203,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎203根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
基于上述实施例,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述方法实施例所提供的均衡方法,例如包括:负载监视引擎201从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎202根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至操作执行引擎203,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎203根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
基于上述实施例,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法实施例所提供的均衡方法,例如包括:负载监视引擎201从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎202,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;所述分析引擎202根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至操作执行引擎203,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;所述操作执行引擎203根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
本领域普通技术人员可以理解:实现上述设备实施例或方法实施例仅仅是示意性的,其中所述处理器和所述存储器可以是物理上分离的部件也可以不是物理上分离的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如U盘、移动硬盘、ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本发明实施例提供的消息系统资源均衡装置、方法及设备,通过在分析引擎中生成第一均衡方案,能够以硬性目标和软性目标为核心依据,动态执行资源自动均衡操作,有效均衡服务器资源的利用率,提升消息系统的性能,大大提高消息系统的高可用和健壮性;提高业务指标数据和平台性能数据的展示实时性,真实反映系统的健康情况以及实时反馈业务操作的结果,满足租户对平台和业务数据的实效性要求,提升用户体验。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种消息系统资源均衡装置,其特征在于,包括负载监视引擎、分析引擎以及操作执行引擎;
所述负载监视引擎,用于从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;
所述分析引擎,用于根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至所述操作执行引擎,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;
所述操作执行引擎,用于根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
2.根据权利要求1所述的均衡装置,其特征在于,还包括异常检测引擎,用于根据所述负载监视引擎发送的所述Kafka指标,对所述Kafka集群中的异常进行检测,获得异常检测结果,并将所述异常检测结果发送至所述分析引擎;
对应的,所述根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,具体包括:
根据所述Kafka指标、所述异常检测结果以及所述Kafka集群的硬性目标和软性目标,生成对应于所有订阅者的第一均衡方案。
3.根据权利要求2所述的均衡装置,其特征在于,所述根据所述负载监视引擎发送的所述Kafka指标,对所述Kafka集群中的异常进行检测,获得异常检测结果,具体包括:
根据所述负载监视引擎发送的所述Kafka指标,对所述Kafka集群中的非空Broker离群,以及所述Kafka集群中违反所述硬性目标和所述软性目标的情况进行检测,获得异常检测结果。
4.根据权利要求2所述的均衡装置,其特征在于,所述从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至所述分析引擎,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息,具体包括:
从Kafka集群中采集Kafka指标,通过所述Kafka指标生成集群工作负载模型,并将所述集群工作负载模型发送至所述分析引擎和所述异常检测引擎;
其中,所述Kafka指标包括Kafka集群整体负载信息、Kafka集群性能指标数据、Kafka集群分区的数量、Kafka集群分区分布信息以及Kafka集群分区数据均衡信息;所述集群工作负载模型包括Kafka集群的磁盘利用率,Kafka集群的CPU利用率以及Kafka集群的字节输入和输出速率。
5.根据权利要求1所述的均衡装置,其特征在于,所述分析引擎,还用于通过所述Kafka指标,以及所述Kafka集群的硬性目标和软性目标,在所述Kafka集群违反了任一硬性目标时,生成对应于所有订阅者的第二均衡方案,并将所述第二均衡方案发送至所述操作执行引擎。
6.根据权利要求1所述的均衡装置,其特征在于,所述Kafka集群根据所述操作指令进行资源均衡,包括:
所述Kafka集群根据所述操作指令进行Kafka集群分区扩容、Kafka集群分区重分配以及Kafka集群分区副本重分配中的至少一种,以使得所述Kafka集群资源均衡。
7.根据权利要求4所述的均衡装置,其特征在于,所述均衡装置还包括数据采集器,所述数据采集器包括Workload收集器、Metrics收集器和Partition收集器;
所述Workload收集器用于采集所述Kafka集群整体负载信息;所述Metrics收集器用于采集Kafka集群性能指标数据;所述Partition收集器用于采集所述Kafka集群分区的数量、所述Kafka集群分区分布信息以及所述Kafka集群分区数据均衡信息。
8.一种消息系统资源均衡方法,其特征在于,包括:
负载监视引擎从Kafka集群中采集Kafka指标,并将所述Kafka指标发送至分析引擎,其中,所述Kafka指标包括所述Kafka集群的负载及分区信息;
所述分析引擎根据所述Kafka指标、所述Kafka集群的硬性目标和所述Kafka集群的软性目标,生成对应于所有订阅者的第一均衡方案,并将所述第一均衡方案发送至操作执行引擎,其中,所述硬性目标为若干个所述Kafka集群必须实现的目标,所述软性目标为若干个所述Kafka集群优选实现的目标;
所述操作执行引擎根据所述第一均衡方案生成若干个操作指令,并将所述若干个操作指令发送至所述Kafka集群以供所述Kafka集群根据所述操作指令进行资源均衡。
9.一种消息系统资源均衡设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求8所述的均衡方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使计算机执行如权利要求8所述的均衡方法。
CN201810463407.6A 2018-05-15 2018-05-15 消息系统资源均衡装置、方法及设备 Active CN110493071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810463407.6A CN110493071B (zh) 2018-05-15 2018-05-15 消息系统资源均衡装置、方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810463407.6A CN110493071B (zh) 2018-05-15 2018-05-15 消息系统资源均衡装置、方法及设备

Publications (2)

Publication Number Publication Date
CN110493071A CN110493071A (zh) 2019-11-22
CN110493071B true CN110493071B (zh) 2021-06-04

Family

ID=68544917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810463407.6A Active CN110493071B (zh) 2018-05-15 2018-05-15 消息系统资源均衡装置、方法及设备

Country Status (1)

Country Link
CN (1) CN110493071B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112269661B (zh) * 2020-10-30 2022-04-15 上海哔哩哔哩科技有限公司 基于Kafka集群的分区迁移方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794015A (zh) * 2015-04-16 2015-07-22 华中科技大学 一种实时流计算流速感知弹性执行容错系统
CN106790572A (zh) * 2016-12-27 2017-05-31 广州华多网络科技有限公司 一种分布式日志收集的系统和方法
CN107038071A (zh) * 2017-05-26 2017-08-11 重庆邮电大学 一种基于数据流预测的Storm任务伸缩调度算法
CN107103064A (zh) * 2017-04-17 2017-08-29 北京五八信息技术有限公司 数据统计方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414377A (zh) * 2008-10-22 2009-04-22 中国移动通信集团福建有限公司 通信行业基于数据仓库的民生信息筛选的方法
CN104836819A (zh) * 2014-02-10 2015-08-12 阿里巴巴集团控股有限公司 动态负载均衡的方法、系统及监控调度设备
US11005933B2 (en) * 2016-03-17 2021-05-11 International Business Machines Corporation Providing queueing in a log streaming messaging system
CN106130960B (zh) * 2016-06-12 2019-08-09 微梦创科网络科技(中国)有限公司 盗号行为的判断系统、负载调度方法和装置
CN105933163B (zh) * 2016-06-24 2019-08-27 微梦创科网络科技(中国)有限公司 一种实时分布式调试跟踪方法及系统
US10289383B2 (en) * 2016-07-28 2019-05-14 International Business Machines Corporation Cross object synchronization
US10540119B2 (en) * 2016-08-26 2020-01-21 Vmware, Inc. Distributed shared log storage system having an adapter for heterogenous big data workloads
KR101834837B1 (ko) * 2016-11-14 2018-03-06 충북대학교 산학협력단 MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템
CN106815338A (zh) * 2016-12-25 2017-06-09 北京中海投资管理有限公司 一种大数据的实时存储、处理和查询系统
CN106850759A (zh) * 2016-12-31 2017-06-13 广州勤加缘科技实业有限公司 MySQL数据库集群处理方法及其处理系统
CN107145393A (zh) * 2017-04-27 2017-09-08 努比亚技术有限公司 一种负载调整方法、设备及计算机可读存储介质
CN107734052B (zh) * 2017-11-02 2019-12-10 华南理工大学 面向组件依赖的负载均衡容器调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794015A (zh) * 2015-04-16 2015-07-22 华中科技大学 一种实时流计算流速感知弹性执行容错系统
CN106790572A (zh) * 2016-12-27 2017-05-31 广州华多网络科技有限公司 一种分布式日志收集的系统和方法
CN107103064A (zh) * 2017-04-17 2017-08-29 北京五八信息技术有限公司 数据统计方法及装置
CN107038071A (zh) * 2017-05-26 2017-08-11 重庆邮电大学 一种基于数据流预测的Storm任务伸缩调度算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Building a Kafka-Based Distributed Queue System on the Fly in a Hadoop Cluster;Cao Ngoc Nguyen;《2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W)》;20160916;全文 *

Also Published As

Publication number Publication date
CN110493071A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
CN108874640B (zh) 一种集群性能的评估方法和装置
CN111049705B (zh) 一种监控分布式存储系统的方法及装置
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US9811443B2 (en) Dynamic trace level control
CN107544832A (zh) 一种虚拟机进程的监控方法、装置和系统
US10305974B2 (en) Ranking system
US9785507B2 (en) Restoration of consistent regions within a streaming environment
CN116049146B (zh) 一种数据库故障处理方法、装置、设备及存储介质
CN111625592A (zh) 分布式数据库的负载均衡方法和装置
CN103399791A (zh) 一种基于云计算的虚拟机迁移方法和装置
CN115686910A (zh) 一种故障分析方法、装置、电子设备及介质
CN110493071B (zh) 消息系统资源均衡装置、方法及设备
CN107426012B (zh) 一种基于超融合架构的故障恢复方法及其装置
CN112732408A (zh) 一种用于计算节点资源优化的方法
CN114461407B (zh) 数据处理方法、装置、分发服务器、系统及存储介质
CN110912949B (zh) 位点提交方法和装置
CN112817687A (zh) 一种数据同步方法和装置
WO2022171075A1 (en) Monitoring health status of large cloud computing system
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN111694705A (zh) 监控方法、装置、设备及计算机可读存储介质
CN114598705B (zh) 消息负载均衡方法、装置、设备和介质
CN115858309B (zh) 面向分布式系统的数据监控方法、装置和电子设备
CN117667347A (zh) 任务处理方法、装置、电子设备及存储介质
CN115309578A (zh) 微服务链路的异常定位方法、装置、设备及存储介质
CN117251284A (zh) 一种资源管理系统、方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231218

Address after: No.19, Jiefang East Road, Hangzhou, Zhejiang Province, 310000

Patentee after: CHINA MOBILE GROUP ZHEJIANG Co.,Ltd.

Patentee after: China Mobile (Zhejiang) Innovation Research Institute Co.,Ltd.

Patentee after: CHINA MOBILE COMMUNICATIONS GROUP Co.,Ltd.

Address before: No. 19, Jiefang East Road, Hangzhou, Zhejiang Province, 310016

Patentee before: CHINA MOBILE GROUP ZHEJIANG Co.,Ltd.

Patentee before: CHINA MOBILE COMMUNICATIONS GROUP Co.,Ltd.