微服务配置装置及方法与流程

文档序号:14012695阅读:167来源:国知局

本发明涉及微服务管理技术领域,特别涉及一种微服务配置装置及方法。



背景技术:

微服务是一种新兴的软件架构风格,每个微服务是一个专注于单一责任与功能的小型功能区块,若干个微服务组合出复杂的大型应用程序。而针对微服务的配置,则是该大型应用程序为用户提供稳定服务的关键。

在现有技术中,微服务配置主要通过人工在线来完成。具体的,运维人员利用运维系统查看服务系统集群中的某一项微服务的指标中,对该微服务的服务性能影响较大的指标,通过自己的运维经验,根据对该微服务的服务性能影响较大的指标来判断该微服务是否需要通过服务配置操作来提升服务的运行质量。如果运维人员判断需要进行服务配置,则根据微服务的指标、日志等信息,凭借人工经验选择配置参数,通过服务配置界面在线的进行配置操作,动态修改系统集群中各节点的配置参数,并实时生效。

在实现本发明的过程中,发明人发现现有技术存在如下问题:

一个服务系统中通常包含大量的微服务,而现有技术需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,导致人工配置的效率较低,参数配置的准确性不高。



技术实现要素:

为了解决现有技术中需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,导致人工配置的效率较低,参数配置的准确性不高的问题,本申请提供了一种微服务配置装置及方法。

第一方面,本发明提供了一种微服务配置方法,包括:

管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的;该管理设备根据该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值,该指标权重信息指示业务的微服务的各个指标在该健康度模型中的权重,不同业务的微服务对应的健康度模型是相同的;当该业务的微服务的健康度分值低于预设的分值阈值时,该管理设备根据该健康度分值确定对该业务的微服务的配置参数;该管理设备根据该配置参数对该业务的微服务进行配置。

本发明实施例提供的微服务配置方法,管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的,根据业务的微服务的各个指标、指标权重信息以及健康度模型计算业务的微服务的健康度分值,不同业务的微服务对应的健康度模型是相同的,当业务的微服务的健康度分值低于预设的分值阈值时,根据健康度分值确定对业务的微服务的配置参数,根据配置参数对业务的微服务进行配置,不需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,从而提高服务配置的效率和准确性,同时,不同业务的微服务之间通过不同的指标权重信息来区分,不需要为每一个业务的微服务设置独立的健康度模型,即通过统一的健康度模型来屏蔽微服务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。

在一种可能的实现方式中,该管理设备根据该配置参数对该微服务进行配置,包括:该管理设备根据该配置参数,对该业务的微服务执行流量控制、服务降级、超时控制、优先级调度、流量偏移以及弹性伸缩中的至少一种配置。

该方案提供了对微服务的具体的配置方式。

在一种可能的实现方式中,该管理设备根据该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值之前,该方法还包括:该管理设备根据该业务的微服务的标识信息,以及该标识信息与该指标权重信息之间的对应关系查询该指标权重信息。

在一种可能的实现方式中,该管理设备获取业务的微服务的各个指标,包括:该管理设备获取该业务的微服务在上一单位时间段内的各个指标;该管理设备根据该配置参数对该业务的微服务进行配置,包括:在下一单位时间段内,该管理设备根据该配置参数对该业务的微服务进行配置。

在一种可能的实现方式中,该业务的微服务包括至少两种微服务,该管理设备根据该配置参数对该业务的微服务进行配置,包括:对于包含该业务的微服务在内的至少两种微服务,该管理设备向该至少两种微服务各自对应的主机设备依次发送配置请求,该配置请求中包含对应的微服务的配置参数,且该配置请求用于指示对应的主机设备根据该配置请求对应的微服务的配置参数对该配置请求对应的微服务进行配置;该管理设备设置该至少两种微服务各自对应的监听器,该监听器用于监听对应的主机设备返回的配置结果;该管理设备,用于当该至少两种微服务各自对应的监听器都接收到各自对应的配置结果时,确定对该至少两种微服务配置完成。

该方案提供了一种对各个微服务进行并行配置的方案,当有多个微服务需要配置时,可以依次向各个微服务对应的主机设备发送配置请求,以指示各个主机设备对各自运行的微服务进行配置,并通过各个微服务各自对应的监听器来确定各个微服务的调用结果,不需要在等待一个微服务配置成功后再进行下一个微服务的配置,从而提升微服务的配置效率,提高并发性和时效性,降低时延。

在一种可能的实现方式中,该微服务在上一单位时间段内的各个指标包括下列指标中的至少一种:不可用时长、可用时长、服务正常时的吞吐量、服务正常时的调用总次数、容错降级的调用次数、强制降级的调用次数、服务降级调用总次数、并行控制调用总次数、并行控制时丢弃的调用次数、流量控制调用总次数、流量控制时丢弃的调用次数、服务异常时的调用总次数、调用延时高于延时门限的调用次数比例、调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数。

在一种可能的实现方式中,该管理设备根据该微服务的各个指标、该微服务对应的指标权重信息以及健康度模型计算该微服务的健康度分值,包括:

该管理设备按照下列公式计算该业务的微服务在上一单位时间段内的该健康度分值:

该健康度分值=100*(((k1*微服务可用性分值)+(k2*微服务亚健康分值))/(k1+k2))-事件扣分;

其中,该微服务可用性分值=(可用时长/单位时间段时长)*(被处理调用次数/调用总次数);该被处理调用次数/调用总次数=(((k3*((服务降级调用总次数-α*容错降级的调用次数-β*强制降级的调用次数)/服务降级调用总次数)+k4*((并行控制调用总次数–并行控制时丢弃的调用次数)/并行控制调用总次数)+k5*((流量控制调用总次数–流量控制时丢弃的调用次数)/流量控制调用总次数)))/(k3+k4+k5))*服务异常时的调用总次数+服务正常是的调用总次数);

该微服务亚健康分值=调用延时高于延时门限的调用次数比例;

该事件扣分=该单位时间段内,调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数中超过预设次数阈值的事件的数量*预定数值v;

其中,k1为该微服务可用性分值对应的权重,k2为该微服务亚健康分值对应的权重,k3为服务降级事件对应的权重,α为该容错降级的调用次数对应的权重,β为该强制降级的调用次数对应的权重,k4为并行控制事件对应的权重,k5为流量控制事件对应的权重。

该方案提供了一种健康度分值的具体计算方法。

在一种可能的实现方式中,该当该业务的微服务的健康度分值低于预设的分值阈值时,该管理设备根据该健康度分值确定对该业务的微服务的配置参数,包括:当该业务的微服务的健康度分值低于预设的分值阈值时,该管理设备根据该健康度分值从配置参数数据库中确定出与该健康度分值相适配的,该业务的微服务对应的配置参数。

在一种可能的实现方式中,该方法还包括:在指定时间段内,该管理设备根据该业务的微服务在该指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得该业务的微服务对应各个健康度分值的配置参数;根据获得的该配置参数更新该配置参数数据库。

该方案提供了一种通过实际采集到的数据进行离线演练以更新配置参数数据库的方法,以便根据实际运行情况及时修正配置参数与健康度分值之间的对应关系,提高对微服务配置的准确性。

第二方面,本发明实施例提供了一种管理设备,该管理设备包括:处理器和存储器;该处理器被配置为执行存储器中存储的程序指令;该处理器通过执行指令来实现上述第一方面或第一方面的各种可能实现方式所提供的微服务配置方法。

第三方面,本发明实施例提供了一种微服务配置装置,该微服务配置装置包括至少一个单元,该至少一个单元用于实现上述第一方面或第一方面的各种可能的实现方式所提供的微服务配置方法。

第四方面,本发明实施例还提供了一种计算机可读介质,该计算机可读介质存储有用于实现第一方面或第一方面的各种可能的实现方式所提供的微服务配置方法的指令。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所涉及的网络环境的架构图;

图2是本发明一个示例性实施例提供的管理设备的结构示意图;

图3本发明一个实施例提供的微服务配置方法的流程图;

图4是本发明一个实施例提供的微服务配置装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

图1是本发明所涉及的一种网络环境的架构图。该网络环境包括以下网络设备:管理设备110以及若干个主机设备120。

其中,管理设备110可以是单台服务器,或者,也可以是由多台服务器组成的服务集群,或者,也可以是一个云计算中心。

主机设备120可以是实体主机,或者,也可以是虚拟主机。

管理设备110与主机设备120之间通过优先或者无线网络相连接。

在本公开实施例中,管理设备110和若干个主机设备120组成服务系统,该服务系统对外提供若干种不同业务的微服务,每种微服务由一个或多个主机设备120运行。主机设备120可以对自身运行的微服务进行指标采集,并将采集到的指标发送给管理设备110,管理设备110根据汇集来的各种业务的微服务的指标对微服务的健康度进行监控,并对需要配置的微服务进行配置参数的确定,并将确定出的配置参数下发给相应的主机设备120,由主机设备120对相应的微服务进行配置。

图2是本发明一个实施例提供的一种管理设备20的结构示意图,该管理设备20可以实现为图1所示的网络环境中的管理设备110如图2所示,该管理设备20可以包括:处理器21以及通信接口24。

处理器21可以包括一个或者一个以上处理单元,该处理单元可以是中央处理单元(英文:centralprocessingunit,cpu)或者网络处理器(英文:networkprocessor,np)等。

通信接口24可以包括有线网络接口,比如以太网接口或者光纤接口,也可以包括无线网络接口,比如无线局域网接口或者蜂窝移动网络接口。管理设备20通过该通信接口24与各个主机设备进行通信。

可选的,该网络设备20还可以包括存储器23,处理器21可以用总线与存储器23和通信接口24相连。

存储器23可用于存储软件程序23a,该软件程序23a可以由处理器21执行。此外,该存储器23中还可以存储各类业务数据或者用户数据。

可选的,如图2所示,软件程序23a中可以包括:指标获取模块23a1、分值计算模块23a2、参数确定模块23a3、配置模块23a4、权重查询模块23a5、演练模块23a6以及更新模块23a7。

指标获取模块23a1,用于获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的;

分值计算模块23a2,用于根据该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值,该指标权重信息指示业务的微服务的各个指标在所述健康度模型中的权重,不同业务的微服务对应的健康度模型是相同的;

参数确定模块23a3,用于当该业务的微服务的健康度分值低于预设的分值阈值时,根据该健康度分值确定对该业务的微服务的配置参数;

配置模块23a4,用于根据该配置参数对该业务的微服务进行配置。

权重查询模块23a5,用于在该分值计算模块23a2根据该业务的微服务的各个指标、该微服务对应的指标权重以及健康度模型计算该业务的微服务的健康度分值之前,根据该业务的微服务的标识信息,以及该标识信息与该指标权重信息之间的对应关系查询该指标权重信息。

演练模块23a6,用于在指定时间段内,根据该业务的微服务在该指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得该业务的微服务对应各个健康度分值的配置参数;

更新模块23a7,用于根据获得的该配置参数更新配置参数数据库。

可选地,该网络设备20还可以包括输出设备25以及输入设备27。输出设备25和输入设备27与处理器21相连。输出设备25可以是用于显示信息的显示器、播放声音的功放设备或者打印机等,输出设备25还可以包括输出控制器,用以提供输出到显示屏、功放设备或者打印机。输入设备27可以是用于用户输入信息的诸如鼠标、键盘、电子触控笔或者触控面板之类的设备,输入设备27还可以包括输出控制器以用于接收和处理来自鼠标、键盘、电子触控笔或者触控面板等设备的输入。

请参考图3,其示出了本发明一个实施例提供的微服务配置方法的流程图。该方法可以用于图1所示的网络环境的管理设备110中。如图3所示,该微服务配置方法可以包括:

步骤301,各个主机设备采集自身运行的业务的微服务的各个指标。

其中,各个指标用于指示对应的微服务的服务性能。各个主机设备上可以运行多种不同的业务,每种业务分别可以对应一种或多种微服务,在本发明实施例中,在采集微服务的指标时,不同业务的微服务的各个指标都是相同的。

比如,假设系统中有业务a、业务b和业务c三种不同的业务,每种业务对应的微服务各不相同,业务a对应有微服务a,业务b对应有微服务b,业务c对应有微服务c,系统中的各个主机设备针对上述三种微服务进行指标采集时,不区分所属的业务,对于每种微服务,采集的指标的类型都是相同的。

在本发明实施例中,主机设备中可以设置指标采集模块,该指标采集模块业内关于对当前主机设备中运行的微服务的各种指标进行实时采集,并将采集到的该微服务的各种指标发送到通信队列中等待发送。

具体的,为了保障微服务配置的高效性,指标采集模块实时增量采集业务的微服务的各种指标。

在本发明实施例中,微服务的各种指标的采集方式有两种:磁盘采集和流式采集,磁盘采集是指主机设备先将各种指标写入日志,指标采集模块监听该日志,从磁盘读取日志中的微服务的各种指标对应的数据;流式采集是指标采集模块直接从内存中读取微服务的各种指标对应的数据。

步骤302,各个主机设备将采集到的微服务的各个指标发送给管理设备,管理设备接收各个主机设备发送的微服务的各个指标。

为了保证微服务性能kpi数据传输的时效性,在本发明实施例中,主机设备可以采用异步非阻塞通信、二进制传输和码流压缩技术来发送采集到的微服务的各个指标。具体的,主机设备中的指标采集模块可以调用管理设备提供的接口,将采集到的微服务的各个指标据通过异步二进制压缩的方式发送给管理设备。

步骤303,管理设备获取一个业务的微服务的各个指标。

在本发明实施例中,管理设备可以对各个主机设备发送过来的各个微服务的指标的数据进行汇集,由于在实际应用中,各个主机设备中的指标采集模块的版本可能并不一致,导致发送过来的数据的格式也可能不一致,此时,管理设备还可以对各个主机设备发来的各个微服务的指标的数据进行格式化,以便后续通过统一的数据格式对指标进行处理。

在本发明实施例中,管理设备可以按照一定的周期对微服务进行配置,在获取一个业务的微服务的各个指标时,管理设备可以获取该业务的微服务在上一单位时间段内的各个指标,针对该上一单位时间段内的各个指标进行后续步骤的处理。

该步骤303可以由图2中的处理器21执行指标获取模块23a1来实现。

步骤304,管理设备根据该业务的微服务的标识信息,以及标识信息与指标权重信息之间的对应关系查询该业务的微服务对应的指标权重信息。

其中,各个业务的微服务的性能权重信息可以由管理人员或系统进行设置或更新。

微服务随业务形态的不同,其配置参数也存在较大差异性,例如计费微服务,对微服务调用的成功率要求非常高(例如99.999%),在对计费微服务做服务配置时,需要重点关注计费微服务的调用成功率参数指标。而对于论坛类微服务,例如用户评论微服务,对并发量和吞吐量的要求较高,但是对成功率要求相对低一些(例如电商大促时会关闭或者对用户评论功能做服务降级),在对用户评论微服务做配置时,往往会重点关注微服务的每秒事务处理量(英文:transactionpersecond,tps)和并发调用量参数指标。对此,在本发明实施例中,管理人员或者系统可以预先设置各个业务的微服务对应的指标权重,不同的业务的微服务对应的指标权重信息也可以不同,管理设备在对一个业务的微服务的各个指标进行处理时,首先可以查询该业务的微服务对应的指标权重信息,按照该指标权重信息进行后续处理。

该步骤304可以由图2中的处理器21执行权重查询模块23a5来实现。

步骤305,管理设备根据获取到的该业务的微服务的各个指标、该业务的微服务对应的指标权重信息以及健康度模型计算该业务的微服务的健康度分值。

其中,指标权重信息用于指示对应的微服务的各个指标各自的权重,不同的业务的微服务对应的健康度模型是相同的;并且,不同的业务的微服务对应的指标权重信息可以相同,也可以不同。

在本发明实施例中,系统中的各个业务的微服务共用一个健康度模型,该健康度模型结合一个业务的微服务的具体指标以及权重即可以计算出该业务的微服务对应的健康度分值,不同的业务的微服务之间通过不同的指标权重信息来区分,不需要为每一个业务的微服务设置独立的健康度模型,即通过统一的健康度模型来屏蔽业务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。

比如,管理人员或系统可以通过动态调整影响微服务的健康度分值的权重,来对业务的微服务的健康度做差异化评价,以计费和用户评论微服务为例,计费微服务对成功率参数指标更加关注,系统可以将计费类的微服务调用成功率的权重调大,则该成功率参数指标项对计费类的微服务的健康度分值的影响就更大。而对于用户评论微服务,系统将吞吐量参数指标的权重调大。

对不需要做差异化配置的微服务,系统采用默认的权重。对于需要做差异化配置的微服务,系统可以将权重和微服务的映射关系预置到数据库或内存中,通过微服务的名称、版本号等信息在数据库或内存做匹配,获取差异化的权重,并根据匹配到的权重对微服务进行健康度的分值计算。

在本发明实施例中,业务的微服务在上一单位时间段内的各个指标包括下列指标中的至少一种:

不可用时长、可用时长、服务正常时的吞吐量、服务正常时的调用总次数、容错降级的调用次数、强制降级的调用次数、服务降级调用总次数、并行控制调用总次数、并行控制时丢弃的调用次数、流量控制调用总次数、流量控制时丢弃的调用次数、服务异常时的调用总次数、调用延时高于延时门限的调用次数比例、调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数。

以上述指标为例,在本发明实施例中,管理设备可以按照下列公式计算该微服务在上一单位时间段内的该健康度分值:

该健康度分值=100*(((k1*微服务可用性分值)+(k2*微服务亚健康分值))/(k1+k2))-事件扣分;

其中,该微服务可用性分值=(可用时长/单位时间段时长)*(被处理调用次数/调用总次数);该被处理调用次数/调用总次数=(((k3*((服务降级调用总次数-α*容错降级的调用次数-β*强制降级的调用次数)/服务降级调用总次数)+k4*((并行控制调用总次数–并行控制时丢弃的调用次数)/并行控制调用总次数)+k5*((流量控制调用总次数–流量控制时丢弃的调用次数)/流量控制调用总次数)))/(k3+k4+k5))*服务异常时的调用总次数+服务正常是的调用总次数);

该微服务亚健康分值=调用延时高于延时门限的调用次数比例;

该事件扣分=该单位时间段内,调用失败次数、路由失败次数、调用超时次数以及其它调用故障次数中超过预设次数阈值的事件的数量*预定数值v;

其中,上述k1为该微服务可用性分值对应的权重,k2为该微服务亚健康分值对应的权重,k3为服务降级事件对应的权重,α为该容错降级的调用次数对应的权重,β为该强制降级的调用次数对应的权重,k4为并行控制事件对应的权重,k5为流量控制事件对应的权重。

该步骤305可以由图2中的处理器21执行分值计算模块23a2来实现。

步骤306,当该业务的微服务的健康度分值低于预设的分值阈值时,管理设备根据该健康度分值确定对该业务的微服务的配置参数。

当该微服务的健康度分值低于预设的分值阈值时,管理设备根据该健康度分值从配置参数数据库中确定出与该健康度分值相适配的,该业务的微服务对应的配置参数。

具体的,在本发明实施例中,管理设备计算获得业务的微服务的健康度分值后,将获得的健康度分值与预置的健康度分值比对,确定其是否达到预期,如果没有达到预期,则基于获得的健康度分值、配置参数数据库和预设算法,通过机器学习的方式寻找合适的配置参数,并输出配置参数。

该步骤306可以由图2中的处理器21执行参数确定模块23a3来实现。

步骤307,管理设备根据该配置参数对该业务的微服务进行配置。

在本发明实施例中,管理设备对业务的微服务进行配置时,可以根据该配置参数,对业务的微服务执行流量控制、服务降级、超时控制、优先级调度、流量偏移以及弹性伸缩中的至少一种配置。

管理设备可以在下一单位时间段内,根据该配置参数对该业务的微服务进行配置。具体的,对于包含该业务的微服务在内的至少两种微服务,该管理设备向该至少两种微服务各自对应的主机设备依次发送配置请求,该配置请求中包含对应的微服务的配置参数,且该配置请求用于指示对应的主机设备根据该配置请求对应的微服务的配置参数对该配置请求对应的微服务进行配置,管理设备设置该至少两种微服务各自对应的监听器,该监听器用于监听对应的主机设备返回的配置结果,用于当该至少两种微服务各自对应的监听器都接收到各自对应的配置结果时,管理设备确定对该至少两种微服务配置完成。

为了提升微服务的配置效率,提高并发性和时效性,降低时延,管理设备在发送一个业务的微服务的配置请求时,可以通过调用该微服务对应的服务配置接口,来向对应的主机设备发送该配置请求。具体的,本发明实施例所示的方案提供一种批量并行调用技术,通过批量调用接口封装、同步转异步和异步转同步技术,实现批量并行异步服务调用,能够大幅降低服务配置接口调用的时延,提升微服务配置的时效性。由于微服务配置操作之间是彼此独立、无逻辑上下文依赖的操作,因此对它们串行的接口调用可以优化成并行调用,封装的批量服务接口代码示例如下:

parallelfuturefuture=parallelfuture.invokeservice{service1,service2…servicen}

object[]results=future.get();

利用上述接口,一次服务调用就可以实现对多个业务的微服务做并行配置操作。

如果是单纯的接口封装,内部还采用串行同步服务调用,则仍然会阻塞当前线程,无法实现并行加速的效果。为了解决这个问题,本发明实施例把串行同步操作转成异步操作,具体的,接口服务调用可以使用异步非阻塞i/o,而网络的i/o读写操作不会阻塞调用线程,发起服务调用之后不需要挂起线程等待应答,而是将调用上下文保存到future中,注册结果通知listener到future中,一旦服务提供者返回应答,则根据消息id获取到系统上下文,回调future中的listener,获取结果,并通知监听者。

以java语言为例,本发明实施例给出一种批量同步转异步、异步汇聚转同步的关键流程,该流程实现如下:

1、通过批量服务调用接口发起并行服务调用。

2、parallelinvoker负责构建parallelfuture对象,parallelfuture中保存了服务调用上下文信息,用于异步接收结果。

3、由于commoninvoker接口支持异步非阻塞i/o调用,不会阻塞调用线程,所以循环串行调用commoninvoker的接口。

4、不需要同步等待服务调用结果,立即返回parallelfuture对象。

5、每个服务调用的future都会持有一个parallelfuture的指针引用,当某个服务sourcehandler的onreceiveresponse被触发时,说明该服务调用的结果已经返回。在该方法中,根据索引信息更新parallelfuture的结果。当所有服务调用结果都被成功设置到parallelfuture中之后,批量服务调用完成。

6、调用get(timeout)接口,主动等待批量调用的应答返回。

7、如果所有服务调用的结果都已经汇聚到parallelfuture,则get(timeout)接口返回包含所有服务调用结果的对象数组。

通过上述方法,微服务配置的总耗时可以压缩为单个微服务配置的耗时中的最大值,而不是传统的所有微服务配置耗时之和。

该步骤307可以由图2中的处理器21执行配置模块23a4来实现。

其中,上述的上一单位时间段可以是管理设备获取业务的微服务的各个指标的时刻点之前,时间长度为一个单位时间长度的时间段,该管理设备获取业务的微服务的各个指标的时刻点可以是该上一单位时间段的结束时刻点,也可以在该上一单位时间段的结束时刻点之后;相应的,上述的下一单位时间段可以是管理设备获取业务的微服务的各个指标的时刻点之后,时间长度为一个单位时间长度的时间段,该管理设备获取业务的微服务的各个指标的时刻点可以是该下一单位时间段的开始时刻点,也可以在该下一单位时间段的开始时刻点之前。

具体的,以管理设备按照一小时为一个周期对业务的微服务进行配置为例,管理设备将每个小时划分为一个单位时间段,假设上述的上一单位时间段为(5:00:00,6:00:00),则下一单位时间段为(6:00:00,7:00:00),管理设备在6:00:00时刻点开始执行步骤303至步骤307,通过业务的微服务在5:00:00~6:00:00内的各项指标确定该业务的微服务在6:00:00~7:00:00内的配置参数,并对该业务的微服务进行配置。

或者,以管理设备按照一小时为一个周期对业务的微服务进行配置为例,管理设备将每个小时中的后59分钟划分为一个单位时间段,假设上述的上一单位时间段为(5:01:00,6:00:00),则下一单位时间段为(6:01:00,7:00:00),管理设备在6:00:00至6:01:00内执行步骤303至步骤306,通过业务的微服务在5:01:00~6:00:00内的各项指标确定该业务的微服务在6:01:00~7:00:00内的配置参数,并从6:01:00时刻点开始执行步骤307,对该业务的微服务进行配置。

步骤308,在指定时间段内,管理设备根据该业务的微服务在该指定时间段开始之前的预定时长范围内的各个指标进行离线自动演练,获得该业务的微服务对应各个健康度分值的配置参数。

该步骤308可以由图2中的处理器21执行演练模块23a6来实现。

步骤309,管理设备根据获得的该配置参数更新该配置参数数据库。

该步骤309可以由图2中的处理器21执行更新模块23a7来实现。

在本发明实施例中,管理设备在空闲时(例如凌晨),可以根据采集到的各种原始数据和测试流量做离线自动演练,寻找最优的配置参数,并把其更新至配置参数数据库中。

综上所述,本发明实施例提供的微服务配置方法,管理设备获取业务的微服务的各个指标,不同业务的微服务的各个指标的类型是相同的,根据业务的微服务的各个指标、指标权重信息以及健康度模型计算业务的微服务的健康度分值,不同业务的微服务对应的健康度模型是相同的,当业务的微服务的健康度分值低于预设的分值阈值时,根据健康度分值确定对业务的微服务的配置参数,根据配置参数对业务的微服务进行配置,不需要运维人员区分对每个微服务的服务性能影响较大的指标,并按照区分出的指标来判断并选择配置参数,从而提高服务配置的效率和准确性,同时,不同业务的微服务之间通过不同的指标权重信息来区分,不需要为每一个业务的微服务设置独立的健康度模型,即通过统一的健康度模型来屏蔽微服务之间的差异,从而简化系统的复杂度,使得系统更加简单、实用和高效。

请参考图4,其示出了本发明一个实施例提供的微服务配置装置的框图。该装置可以通过硬件或者软硬结合的方式实现为图1所示网络环境的管理设备110的部分或者全部,用以执行如图3中由管理络设备所执行的全部或者部分步骤。该装置可以包括:指标获取模块23a1、分值计算模块23a2、参数确定模块23a3、配置模块23a4、权重查询模块23a5、演练模块23a6以及更新模块23a7;

在本实施例中,该装置是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。

指标获取单元401,具有与指标获取模块23a1相同或相似的功能。

分值计算单元402,用于与分值计算模块23a2相同或相似的功能。

参数确定单元403,具有与参数确定模块23a3相同或相似的功能。

配置单元404,用于与配置模块23a4相同或相似的功能。

权重查询单元405,具有与权重查询模块23a5相同或相似的功能。

演练单元406,用于与演练模块23a6相同或相似的功能。

更新单元407,具有与更新模块23a7相同或相似的功能。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1