针对消息中间件的负载均衡方法、装置、设备和存储介质制造方法及图纸

技术编号:36339534 阅读:72 留言:0更新日期:2023-01-14 17:52
本申请涉及一种针对消息中间件的负载均衡方法、装置、设备和存储介质。该方法包括从消息中间件对应的负载指标文件中,读取消息中间件中每个消息中间件节点的负载指标数据,负载指标文件是通过脚本将从消息中间件中获取各消息中间件节点的负载指标数据写入文件中生成的;基于负载指标数据,计算每个消息中间件节点的节点选取权重,节点选取权重与消息中间件节点在可用状态下的剩余资源数量正相关;根据节点选取权重,从多个消息中间件节点中确定目标中间件节点,目标中间件节点用于与业务服务应用建立连接,以使得业务服务应用在目标中间件节点中创建消息队列。采用本方法能够提高消息中间件处理效率。消息中间件处理效率。消息中间件处理效率。

【技术实现步骤摘要】
针对消息中间件的负载均衡方法、装置、设备和存储介质


[0001]本申请涉及消息传输
,特别是涉及一种针对消息中间件的负载均衡方法、装置、设备和存储介质。

技术介绍

[0002]随着消息传输技术的发展,出现了消息中间件,消息中间件通过提供消息传递和消息排队模型,在分布式环境下扩展进程间的通信。通过消息中间件,应用程序或组件之间可以进行可靠的异步通讯,从而降低系统之间的耦合度,提高系统的可扩展性和可用性。
[0003]传统技术中,无法避免多个数据量较大的消息队列都被创建在同一个消息中间件节点的情况,会造成该消息中间件节点负载过高,甚至崩溃的问题,从而导致消息中间件处理消息队列的效率降低。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够提高消息中间件处理效率的针对消息中间件的负载均衡方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]第一方面,本申请提供了一种针对消息中间件的负载均衡方法。所述方法包括:
[0006]从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据,所述负载指标文件是通过脚本将从消息中间件中获取各消息中间件节点的负载指标数据写入文件中生成的;
[0007]基于所述负载指标数据,计算每个消息中间件节点的节点选取权重,所述节点选取权重与所述消息中间件节点在可用状态下的剩余资源数量正相关;
[0008]根据所述节点选取权重,从多个消息中间件节点中确定目标中间件节点,所述目标中间件节点用于与业务服务应用建立连接,以使得所述业务服务应用在所述目标中间件节点中创建消息队列。
[0009]在其中一个实施例中,在所述从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据之前,还包括:
[0010]通过执行脚本,按照预设写入时间段从所述消息中间件中获取消息中间件节点的处理器的资源占用数据和待处理任务数据以及消息中间件节点的节点状态数据,得到负载指标数据;
[0011]通过执行脚本,将所述负载指标数据写入所述负载指标文件。
[0012]在其中一个实施例中,所述通过执行脚本,将所述负载指标数据写入所述负载指标文件还包括:
[0013]通过执行所述脚本,获取对应于每个消息中间件节点的地址信息和端口信息,并将所述负载指标数据写入负载指标文件。
[0014]在其中一个实施例中,所述从消息中间件对应的负载指标文件中,读取所述消息
中间件中每个消息中间件节点的负载指标数据包括:
[0015]通过负载检查程序,按照预设读取时间段,从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据;
[0016]其中,负载检查程序是用于检查消息中间件节点的负载情况的服务应用。
[0017]在其中一个实施例中,所述负载指标数据包括消息中间件节点中处理器的资源占用数据和待处理任务数据以及消息中间件节点的节点状态数据;所述基于所述负载指标数据,计算每个消息中间件节点的节点选取权重包括:
[0018]基于所述资源占用数据和所述待处理任务数据确定每个消息中间件节点剩余的处理器资源数量;
[0019]基于所述节点状态数据确定所述处理器资源数量对应的节点状态权重;
[0020]使用所述节点状态权重对所述处理器资源数量进行加权,得到节点选取权重。
[0021]在其中一个实施例中,在所述根据所述节点选取权重,从多个消息中间件节点中确定目标中间件节点之后,还包括:
[0022]通过负载检查程序,确定目标中间件节点的目标地址信息和目标端口信息;其中,目标地址信息和目标端口信息,用于使所述业务服务应用与所述目标中间件节点之间建立连接。
[0023]在其中一个实施例中,所述通过负载检查程序,确定目标中间件节点的目标地址信息和目标端口信息包括:
[0024]在所述业务服务应用所连接至的消息中间件节点处于不可用状态的情况下,通过负载检查程序,确定目标中间件节点的目标地址信息和目标端口信息。
[0025]第二方面,本申请还提供了一种针对消息中间件的负载均衡装置。所述装置包括:
[0026]获取模块,用于从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据;所述负载指标文件,是通过脚本将从消息中间件中获取各消息中间件节点的负载指标数据写入文件中生成的;
[0027]计算模块,用于基于所述负载指标数据,计算每个消息中间件节点的节点选取权重;所述节点选取权重与所述消息中间件节点在可用状态下的剩余资源数量正相关;
[0028]确定模块,用于根据所述节点选取权重,从多个消息中间件节点中确定目标中间件节点;所述目标中间件节点,用于与业务服务应用建立连接,以使得所述业务服务应用在所述目标中间件节点中创建消息队列。
[0029]在其中一个实施例中,获取模块,还用于通过执行脚本,按照预设写入时间段从所述消息中间件中获取消息中间件节点的处理器的资源占用数据和待处理任务数据以及消息中间件节点的节点状态数据,得到负载指标数据;通过执行脚本,将所述负载指标数据写入所述负载指标文件。
[0030]在其中一个实施例中,获取模块,还用于通过执行所述脚本,获取对应于每个消息中间件节点的地址信息和端口信息,并将所述负载指标数据写入负载指标文件。
[0031]在其中一个实施例中,获取模块,还用于通过负载检查程序,按照预设读取时间段,从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据;其中,负载检查程序是用于检查消息中间件节点的负载情况的服务应用。
[0032]在其中一个实施例中,所述负载指标数据包括消息中间件节点中处理器的资源占
用数据和待处理任务数据以及消息中间件节点的节点状态数据;计算模块,还用于基于所述资源占用数据和所述待处理任务数据确定每个消息中间件节点剩余的处理器资源数量;基于所述节点状态数据确定所述处理器资源数量对应的节点状态权重;使用所述节点状态权重对所述处理器资源数量进行加权,得到节点选取权重。
[0033]在其中一个实施例中,确定模块,还用于通过负载检查程序,确定目标中间件节点的目标地址信息和目标端口信息;其中,目标地址信息和目标端口信息,用于使所述业务服务应用与所述目标中间件节点之间建立连接。
[0034]在其中一个实施例中,确定模块,还用于在所述业务服务应用所连接至的消息中间件节点处于不可用状态的情况下,通过负载检查程序,确定目标中间件节点的目标地址信息和目标端口信息。
[0035]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请所述方法各实施例中的步骤。
[0036]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对消息中间件的负载均衡方法,其特征在于,所述方法包括:从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据,所述负载指标文件是通过脚本将从消息中间件中获取各消息中间件节点的负载指标数据写入文件中生成的;基于所述负载指标数据,计算每个消息中间件节点的节点选取权重,所述节点选取权重与所述消息中间件节点在可用状态下的剩余资源数量正相关;根据所述节点选取权重,从多个消息中间件节点中确定目标中间件节点,所述目标中间件节点用于与业务服务应用建立连接,以使得所述业务服务应用在所述目标中间件节点中创建消息队列。2.根据权利要求1所述的方法,其特征在于,在所述从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据之前,还包括:通过执行脚本,按照预设写入时间段从所述消息中间件中获取消息中间件节点的处理器的资源占用数据和待处理任务数据以及消息中间件节点的节点状态数据,得到负载指标数据;通过执行脚本,将所述负载指标数据写入所述负载指标文件。3.根据权利要求2所述的方法,其特征在于,所述通过执行脚本,将所述负载指标数据写入所述负载指标文件还包括:通过执行所述脚本,获取对应于每个消息中间件节点的地址信息和端口信息,并将所述负载指标数据写入负载指标文件。4.根据权利要求1所述的方法,其特征在于,所述从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据包括:通过负载检查程序,按照预设读取时间段,从消息中间件对应的负载指标文件中,读取所述消息中间件中每个消息中间件节点的负载指标数据;其中,负载检查程序是用于检查消息中间件节点的负载情况的服务应用。5.根据权利要求1所述的方法,其特征在于,所述负载指标数据包括消息中间件节点中处理器的资源占用数据和待处理任务数据以及消息中间件节点的节点状态数据;所述基于所述负载指标数据,计算每个消息中间件节点的节点选取权重包括:...

【专利技术属性】
技术研发人员:夏文
申请(专利权)人:深圳市欧瑞博科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1