微服务分配方法、电子设备及存储介质组成比例

技术编号:36919332 阅读:38 留言:0更新日期:2023-03-22 18:43
本申请提供一种微服务分配方法、电子设备及存储介质,所述方法包括:获取多个微服务之间的关联数据;根据所述关联数据对所述多个微服务进行分组;根据分组结果,对所述多个微服务进行资源的分配。通过本申请可以提高网络传输的效率。输的效率。输的效率。

【技术实现步骤摘要】
微服务分配方法、电子设备及存储介质


[0001]本申请涉及网络传输领域,尤其涉及一种微服务分配方法、电子设备及存储介质。

技术介绍

[0002]目前在微服务的架构下,用户所发出的功能请求都是由多个微服务彼此协作后达成。而微服务的容器化部署架构,则会将这些微服务分散安装至多台主机上,增加了网络传输所需的时间。

技术实现思路

[0003]鉴于以上内容,有必要提供一种微服务分配方法、电子设备及存储介质,能减少网络传输所需的时间,提高网络传输的效率。
[0004]本申请提供一种微服务分配方法,所述方法包括:获取多个微服务之间的关联数据;根据所述关联数据对所述多个微服务进行分组;根据分组结果,对所述多个微服务进行资源的分配。
[0005]在一种可能的实现方式中,所述获取微服务之间的关联数据包括:利用分布式跟踪工具监控所述多个微服务的网络流向;根据所述网络流向生成网络拓扑图;通过所述网络拓扑图获取所述多个微服务之间的联机次数及传输数据量;将所述联机次数和所述传输数据量作为所述关联数据。
[0006]在一种可能的实现方式中,所述根据所述关联数据对所述多个微服务进行分组包括:根据所述联机次数和所述传输数据量计算得到所述多个微服务之间的距离;基于所述距离,通过分群算法对所述多个微服务进行分组。
[0007]在一种可能的实现方式中,所述根据所述联机次数和所述传输数据量计算得到所述多个微服务之间的距离包括:从所述联机次数中提取出最大联机次数;从所述传输数据量中提取出最大传输数据量;根据所述联机次数、所述最大联机次数、所述传输数据量及所述最大传输数据量计算得到对应的两个微服务之间的距离。
[0008]在一种可能的实现方式中,所述基于所述距离,通过分群算法对所述多个微服务进行分组包括:随机选取预设数量个聚类中心;计算任一微服务与各个所述聚类中心之间的距离,令所述任一微服务隶属于距离所述任一微服务最近的所述聚类中心的组别;对所述任一微服务隶属的聚类中心进行至少一次迭代更新,直至获得达到预设条件的多个目标聚类中心;及计算任一微服务与各个所述目标聚类中心之间的距离,令所述任一微服务隶属于距离所述任一微服务最近的所述目标聚类中心的组别,获得分组结果。
[0009]在一种可能的实现方式中,对所述任一微服务隶属的聚类中心进行至少一次迭代更新中的任意一次迭代更新包括:针对每个所述组别,重新计算所述组别的更新的聚类中心;计算所述任一微服务与各个所述更新的聚类中心之间的距离,令所述任一微服务隶属于距离所述任一微服务最近的所述更新的聚类中心的组别。在一种可能的实现方式中,所述根据分组结果,对所述多个微服务进行资源的分配包括:根据分组结果得到多个节点组;
将所述多个微服务分配至对应的节点组中;将每个所述节点组中的微服务分配至对应的计算节点。
[0010]在一种可能的实现方式中,所述方法还包括:部署依赖于所述微服务的微服务实例到对应的计算节点。
[0011]本申请还提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的微服务分配方法。
[0012]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的微服务分配方法。
[0013]本申请公开的微服务分配方法及相关设备,通过根据微服务之间的关联数据对所述多个微服务进行分组,并根据分组结果,对所述多个微服务进行资源的分配。通过将关联性强的微服务分为一组并分配到相同的计算节点上,最大限度的减少了部署应用程序的计算节点之间的通信开销,减少了网络传输所需的时间,提高了网络传输的效率。
附图说明
[0014]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0015]图1是本申请实施例提供的一种微服务分配方法的电子设备的结构示意图。
[0016]图2是本申请实施例提供的一种微服务分配方法的流程图。
[0017]图3是本申请实施例提供的一种示例性网络拓扑图。
[0018]图4是本申请实施例提供的一种示例性微服务分组结果。
[0019]如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
[0020]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。
[0021]请参阅图1,图1为本申请一实施例的电子设备的示意图。参阅图1所示,所述电子设备1包括,但不仅限于,存储器11和至少一个处理器12上述元件之间可以通过总线(例如图1所示的13)连接,也可以直接连接。
[0022]所述电子设备1可以是计算机、手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等安装有应用程序的设备。本领域技术人员可以理解,所述示意图1仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
[0023]如图2所示,是本申请微服务分配方法的较佳实施例的流程图。所述微服务分配方法应用在所述电子设备1中。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。在本实施方式中,所述微服务分配方法包括:
[0024]S11、获取多个微服务之间的关联数据。
[0025]微服务是一种软件架构,主张把应用程序拆分成多个服务单元。应用程序开发人将微服务及微服务实例提交到数据中心。各种微服务被分配给数据中心中合适的物理节点以满足微服务的资源需求。在微服务的架构下,用户所发出的功能请求都是由多个微服务彼此协作后达成。而微服务的容器化部署架构,则会将这些微服务分散安装至多台主机上。
[0026]在本申请的一个实施例中,为了减少网络传输时间,需要根据微服务之间的关联数据,对所述多个微服务进行分配管理。
[0027]在本申请的一个实施例中,所述获取微服务之间的关联数据包括:利用分布式跟踪工具监控所述多个微服务的网络流向;根据所述网络流向生成网络拓扑图;通过所述网络拓扑图获取所述多个微服务之间的联机次数及传输数据量;将所述联机次数和所述传输数据量作为所述关联数据。
[0028]具体实施时,利用分布式跟踪工具去监控所有微服务的网络流向,然后获得各个节点之间的所述联机次数及所述传输数据量,例如,使用Appdash、Prometheus和Grafana开源监控工具,通过收集日志和其他指标来支持基于微服务的系统的日志记录和监控。其中,Appdash是微服务执行跟踪工具,用于提取微服务的运行时指标,Prometheus用于收集微服务生命周期中的其他时间序列指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务分配方法,其特征在于,所述微服务分配方法包括:获取多个微服务之间的关联数据;根据所述关联数据对所述多个微服务进行分组;根据分组结果,对所述多个微服务进行资源的分配。2.根据权利要求1所述的微服务分配方法,其特征在于,所述获取多个微服务之间的关联数据包括:利用分布式跟踪工具监控所述多个微服务的网络流向;根据所述网络流向生成网络拓扑图;通过所述网络拓扑图获取所述多个微服务之间的联机次数及传输数据量;将所述联机次数和所述传输数据量作为所述关联数据。3.根据权利要求2所述的微服务分配方法,其特征在于,所述根据所述关联数据对所述多个微服务进行分组包括:根据所述联机次数和所述传输数据量计算得到所述多个微服务之间的距离;基于所述距离,通过分群算法对所述多个微服务进行分组。4.根据权利要求3所述的微服务分配方法,其特征在于,所述根据所述联机次数和所述传输数据量计算得到所述多个微服务之间的距离包括:从所述联机次数中提取出最大联机次数;从所述传输数据量中提取出最大传输数据量;根据所述联机次数、所述最大联机次数、所述传输数据量及所述最大传输数据量计算得到对应的两个微服务之间的距离。5.根据权利要求4所述的微服务分配方法,其特征在于,所述基于所述距离,通过分群算法对所述多个微服务进行分组包括:随机选取预设数量个聚类中心;计算任一微服务与各个所述聚类中心之间的距离,令所述任一微服务隶属于距离所述任一微服务最近的所述聚类中心的组别;...

【专利技术属性】
技术研发人员:刘佳宗
申请(专利权)人:深圳富桂精密工业有限公司
类型:发明
国别省市:

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

1