一种实现资源配置的方法、装置及资源配置中心与流程

文档序号:11436410阅读:362来源:国知局
一种实现资源配置的方法、装置及资源配置中心与流程

本发明涉及分布式应用技术领域,尤其涉及一种实现资源配置的方法、装置及资源配置中心。



背景技术:

微服务是一项在云中部署应用和服务的新技术。微服务技术围绕着业务领域组件来创建应用,这些应用可独立地进行开发和管理,在分散的组件中使用微服务云架构和平台可以使部署、管理和服务功能交付变得更加简单。

微服务在入网工作时,需要由自身对应的资源配置中心完成资源配置,微服务根据分配给自己的资源完成启动。常用的实现资源配置的方法是,当微服务需要资源配置中心配置资源时,首先由运维人员为微服务配置资源配置中心的ip地址,微服务根据ip地址连接到资源配置中心,向资源配置中心申请资源。对于较大的应用系统来说,其包含的微服务数量会很多,在每一个微服务入网时都为其配置资源配置中心的ip地址的话,无疑增加了运维负担。



技术实现要素:

基于上述现有技术的缺陷和不足,本发明提出一种实现资源配置的方法、装置及资源配置中心,能够实现微服务与资源配置中心之间的自动化的资源配置。

本发明第一方面提出一种实现资源配置的方法,应用于微服务,该方法包括:向所有的资源配置中心广播第一标识信息;其中,所述第一标识信息是与所述微服务唯一对应的标识信息;接收与所述微服务对应的资源配置中心发送的资源数据信息;其中,所述资源数据信息为与所述微服务对应的资源配置中心在接收到所述微服务发送的第一标识信息后,为所述微服务分配的资源的数据信息。可见,采用上述技术方案,实现了微服务与资源配置中心之间的自动识别与资源配置,省去了为微服务配置资源配置中心的ip地址的处理过程,减轻了运维负担。

本发明第二方面提出一种实现资源配置的装置,应用于微服务,该装置包括:广播单元,用于向所有的资源配置中心广播第一标识信息;其中,所述第一标识信息是与所述微服务唯一对应的标识信息;数据接收单元,用于接收与所述微服务对应的资源配置中心发送的资源数据信息;其中,所述资源数据信息为与所述微服务对应的资源配置中心在接收到所述微服务发送的第一标识信息后,为所述微服务分配的资源的数据信息。

在一种实现方式中,在向所有的资源配置中心广播第一标识信息后,该方法还包括:接收资源配置中心发送的第二标识信息;其中,所述第二标识信息为与所述微服务对应的资源配置中心为所述微服务配置资源后,向所述微服务发送的自身标识信息;根据所述第二标识信息,确认发送所述第二标识信息的资源配置中心的端口地址;访问所述端口地址,从所述资源配置中心获取分配给所述微服务的资源数据信息。

在一种实现方式中,在接收资源配置中心发送的第二标志信息后,该方法还包括:根据所述第二标识信息,判断发送所述第二标识信息的资源配置中心,是否是与所述微服务对应的资源配置中心;如果发送所述第二标识信息的资源配置中心是与所述微服务对应的资源配置中心,则根据所述第二标识信息,确认发送所述第二标识信息的资源配置中心的端口地址。

在一种实现方式中,该方法还包括:接收资源配置中心发送的新增可用资源信息;向发送所述新增可用资源信息的资源配置中心发送响应信息。

本发明第三方面提出一种实现资源配置的方法,应用于资源配置中心,该方法包括:接收第一标识信息;其中,所述第一标识信息是微服务广播的,与所述微服务唯一对应的标识信息;根据所述第一标识信息,判断所述微服务是否是与所述资源配置中心对应的微服务;如果所述微服务是与所述资源配置中心对应的微服务,则为所述微服务配置资源;将为所述微服务配置的资源的数据信息,发送给所述微服务。上述方案实现了资源配置中心自动根据微服务的请求,为微服务配置资源,省去了在微服务请求资源时,为微服务配置资源配置中心的ip地址的处理过程,降低了运维负担。

本发明第四方面提出一种资源配置中心,包括:信息接收单元,用于接收第一标识信息;其中,所述第一标识信息是微服务广播的,与所述微服务唯一对应的标识信息;判断处理单元,用于根据所述第一标识信息,判断所述微服务是否是与所述资源配置中心对应的微服务;资源配置单元,用于当所述判断处理单元判断所述微服务是与所述资源配置中心对应的微服务时,为所述微服务配置资源;信息发送单元,用于将为所述微服务配置的资源的数据信息,发送给所述微服务。

在一种实现方式中,所述将为所述微服务配置的资源的数据信息,发送给所述微服务,包括:根据所述第一标识信息,确认发送所述第一标识信息的微服务的端口地址;访问所述微服务的端口地址,并将为所述微服务配置的资源的数据信息发送给所述微服务。

在一种实现方式中,在为所述微服务配置资源后,该方法还包括:向所述微服务发送第二标识信息,使所述微服务根据所述第二标识信息,访问所述资源配置中心;其中,所述第二标识信息为所述资源配置中心自身的标识信息;当接收到所述微服务发送的获取资源数据信息的请求时,将分配给所述微服务的资源数据信息输出给所述微服务。

在一种实现方式中,该方法还包括:接收微服务发送的新增可用资源信息;将所述新增可用资源信息,广播到与所述资源配置中心对应的所有微服务。

在一种实现方式中,该方法还包括:接收微服务发送的响应信息;其中,所述响应信息为微服务在接收到所述新增可用资源信息后发送的响应信息;根据接收的响应信息,判断与所述资源配置中心对应的所有微服务是否都收到所述新增可用资源信息;如果存在未收到所述新增可用资源信息的微服务,则再次向未收到所述新增可用资源信息的微服务发送所述新增可用资源信息。

附图说明

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

图1是本发明实施例提供的一种实现资源配置的方法的流程示意图;

图2是本发明实施例提供的差错控制机制示意图;

图3是本发明实施例提供的一种实现资源控制的装置的结构示意图;

图4是本发明实施例提供的另一种实现资源控制的装置的结构示意图;

图5是本发明实施例提供的一种资源配置中心的结构示意图。

具体实施方式

在分布式应用系统中,需要由资源配置中心为各个分布式应用,比如各个微服务,完成资源配置,各个微服务根据分配给自身的资源启动。微服务入网缺少标准,每个软件厂家都实现自己的客户端代理,该代理通过和zookeeper等资源配置中心通信并获取可用的资源。分布式应用系统规模庞大,在整个系统中分布众多的微服务,以及相应的布置多个资源配置中心为所有的微服务配置资源。

基于分布式应用系统规模庞大,微服务及资源配置中心众多的特点,当运维整个系统时,需要由运维人员在微服务需要请求资源时,为微服务配置对应的资源配置中心的ip地址,使得微服务可以正确地向对应的资源配置中心请求资源。对于运维人员来说,这无疑是一项繁琐又沉重的运维负担。

基于上述现状,本发明实施例提出一种实现资源配置的方法、装置及资源配置中心,可以使微服务与资源配置中心之间自动实现资源配置,减轻运维负担。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提出的实现资源配置的方法,包括:

s101、微服务向所有的资源配置中心广播与自身唯一对应的第一标识信息;

具体的,在分布式应用系统中,为了便于区分各个微服务以及各个资源配置中心,为各个微服务和各个资源配置中心分别设置唯一的标识信息。为了便于区分,本发明实施例将微服务的标识信息设置为第一标识信息,将资源配置中心的标识信息设置为第二标识信息。当微服务需要向资源配置中心申请资源时,首先向所有的资源配置中心广播自身标识信息,即第一标识信息。

微服务采用udp协议实现第一标识信息的广播。udp协议是一种无连接的传输协议,因此不需要为微服务配置资源配置中心的ip地址就可以实现微服务向资源配置中心的信息广播。在udp协议中,数据信息以数据包的形式发送,但是udp协议不提供数据包分组、组装,不能对数据包进行排序,也就是说,当报文发送之后,不能得知其是否安全完整到达,因此,udp协议提供的是不可靠的数据传输。

为了保证广播通信的可靠性,本发明实施例在udp协议的基础上,为广播通信增添了差错控制机制。具体如图2所示,当数据发送方广播发送数据包后,数据接收方完整接收到数据包时,向数据发送方发送表征数据包已收齐的ack响应信息;数据发送方在接收到ack响应信息后,向数据接收方发送表征数据包发送完毕的ack响应信息;可以理解的是,如果数据接收方没有完整接收数据包,则可以设置数据接收方向数据发送方发送表征数据包未收齐的nack响应信息,告知数据发送方重新发送数据包,重发过程中实施上述差错控制机制。

需要说明的是,在本发明实施例中,以插件的方式,为原分布式应用系统的各微服务添加实现资源配置的功能。也就是说,以插件的形式,代替微服务实现本发明实施例技术方案,例如广播数据信息、获取资源数据信息等。可以理解的是,也可以直接在微服务中集成实现本发明实施例技术方案的功能,本发明实施例不对具体实现本发明实施例技术方案的形式做任何限定。

s102、资源配置中心接收到第一标识信息后,根据第一标识信息,判断上述微服务是否是与自身对应的微服务;

具体的,在分布式应用系统中,各个微服务都分配有对应的资源配置中心,当微服务需要请求资源时,向对应的资源配置中心发出请求。又由于微服务是以广播的方式向所有的资源配置中心广播第一标识信息,因此需要资源配置中心识别该第一标识信息,判断是否是资源配置中心自身对应的微服务。

具体的识别方法可以是,在资源配置中心内部存储与自身对应的所有微服务的标识信息,即第一标识信息。当资源配置中心接收到微服务广播的第一标识信息时,将接收的第一标识信息与存储的第一标识信息进行对比,如果接收的第一标识信息,是自身存储的第一标识信息,则说明发送上述第一标识信息的微服务是与自身对应的微服务;否则,说明发送上述第一标识信息的微服务不是与自身对应的微服务,对接收的第一标识信息不予处理。

如果资源配置中心判断上述微服务是与自身对应的微服务,则执行步骤s103、为上述微服务配置资源;

具体的,如果资源配置中心确认发送第一标识信息的微服务是与自身对应的微服务,则为该微服务配置用于启动的资源。具体的配置方法,与常用的资源配置方法相同,此处不再赘述。

资源配置中心的资源包括两类:默认可分配的资源和授权才能分配的资源。默认可分配的资源,可以直接分配给微服务。当微服务请求授权才能分配的资源时,资源配置中心还要验证微服务的权限,只有当微服务拥有权限时,才能为微服务分配需要授权才能分配的资源。

s104、资源配置中心根据接收的第一标识信息,确认发送上述第一标识信息的微服务的端口地址;

具体的,资源配置中心通过接收的第一标识信息,可以确认发送该第一标识信息的微服务的端口地址。具体可以通过预先配置存储的方式,存储所有对应的微服务的端口地址,当接收到第一标识信息时,通过将接收的第一标识信息与存储的微服务端口地址信息进行对比,可以确认发送标识信息的微服务的端口地址。

s105、资源配置中心访问上述微服务的端口地址,将为上述微服务配置的资源的数据信息发送给上述微服务;

具体的,资源配置中心在确认了发送第一标识信息的微服务的端口地址后,访问该端口地址,也就是与对应的微服务建立通信连接,并将为该微服务配置的资源的数据信息发送给该微服务。

相应的,微服务执行步骤s106、接收上述资源配置中心方的资源数据信息;

具体的,当资源配置中心主动访问微服务,向微服务发送资源数据信息时,微服务接收信息。

需要说明的是,由于本发明实施例是在原微服务的基础上,附加插件来实现微服务与资源配置中心之间的资源配置,因此,上述资源配置中心向微服务发送资源数据信息实际上是向微服务的插件发送资源数据信息;而上述微服务接收资源数据信息,实际上也是微服务通过插件来接收资源数据信息。

可选的,当资源配置中心为微服务配置资源,并确认微服务的端口地址后,还可以选择直接执行步骤s107、向上述微服务发送自身标识信息,即第二标识信息;

相应的,上述微服务接收第二标识信息后,执行步骤s108、根据接收的第二标识信息,判断发送上述第二标识信息的资源配置中心是否是与自身对应的资源配置中心;

具体的,在微服务内部,存储与自身对应的资源配置中心的标识信息,如果微服务接收的第二标识信息,就是自身存储的标识信息,则说明上述资源配置中心是与自身对应的资源配置中心;如果微服务接收的第二标识信息,不是自身存储的标识信息,则说明上述资源配置中心不是与自身对应的资源配置中心。

如果微服务确认发送上述第二标志信息的资源配置中心是与自身对应的资源配置中心,则执行步骤s109、根据上述第二标识信息,确认发送上述第二标识信息的资源配置中心的端口地址;

具体的,与上述介绍的资源配置中心确认微服务的端口地址的方法相同,微服务采用相同的方法确认发送第二标识信息的资源配置中心的端口地址。

s110、微服务访问上述资源配置中心的端口地址,并向资源配置中心发送获取资源数据信息请求;

资源配置中心接收到微服务发送的获取资源数据信息的请求后,执行步骤s111、将分配给上述微服务的资源数据信息输出给上述微服务;

微服务即从对应的资源配置中心获取到了分配给自身的资源数据信息。

更进一步的,微服务也可以作为分布式应用系统的资源,供其它微服务使用。当新的微服务启动时,相当于分布式应用系统中增添了新的资源,此时资源配置中心会接收到新增可用资源信息;而如果微服务关闭,则该微服务所提供的资源也就不能使用,此时资源配置中心会接收到可用资源关闭信息。

微服务的可用状态会影响到整个分布式应用系统的健康状况,如果某个微服务应用出现了问题,那么其它的微服务应用就不能再向该应用发起业务处理请求。所以资源配置中心需要监控每个微服务的健康状况。具体的,微服务定时向对应的资源配置中心发送在线信息,如果资源配置中心在一段时间内没有接收到微服务发送的心跳信息,则说明该微服务不可用。资源配置中心广播告知其它微服务该微服务不可用,并修改该微服务的资源状态。

当资源配置中心接收到微服务发送的新增可用资源信息时,执行步骤s112、将新增可用资源信息,广播发送给与自身对应的所有微服务;

微服务接收到资源配置中心广播的新增可用资源信息后,执行步骤s113、向发送上述新增可用资源信息的资源配置中心发送响应信息;

资源配置中心根据接收的响应信息,执行步骤s114、判断是否所有与自身对应的微服务都收到上述新增可用资源信息;

如果存在没有收到的上述新增可用资源信息的微服务,则执行s115、再次向未收到上述新增可用资源信息的微服务发送上述新增可用资源信息。

通过上述对本发明实施例技术方案的介绍可见,本发明实施例技术方案,实现了微服务与对应的资源配置中心之间的,自动的资源配置,可以简化运维人员的管理操作,减轻运维负担。

图3是本发明实施例提供的一种实现资源配置的装置的结构示意图,该装置应用于微服务。包括:广播单元301,用于向所有的资源配置中心广播第一标识信息;其中,所述第一标识信息是与所述微服务唯一对应的标识信息;数据接收单元302,用于接收与所述微服务对应的资源配置中心发送的资源数据信息;其中,所述资源数据信息为与所述微服务对应的资源配置中心在接收到所述微服务发送的第一标识信息后,为所述微服务分配的资源的数据信息。

具体的,图3所示的实现资源配置的装置的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

图4是本发明实施例提供的另一种实现资源配置的装置的结构示意图,该装置的数据接收单元302还用于接收资源配置中心发送的第二标识信息;其中,所述第二标识信息为与所述微服务对应的资源配置中心为所述微服务配置资源后,向所述微服务发送的自身标识信息;该装置还包括:分析处理单元303,用于根据所述第二标识信息,确认发送所述第二标识信息的资源配置中心的端口地址;信息获取单元304,用于访问所述端口地址,从所述资源配置中心获取分配给所述微服务的资源数据信息。

具体的,图4所示的实现资源配置的装置的各个单元的具体工作内容,请参见上述方法的实施例的内容,此处不再赘述。

图5是本发明实施例提供的一种资源配置中心的结构示意图,该资源配置中心包括:信息接收单元501,用于接收第一标识信息;其中,所述第一标识信息是微服务广播的,与所述微服务唯一对应的标识信息;判断处理单元502,用于根据所述第一标识信息,判断所述微服务是否是与所述资源配置中心对应的微服务;资源配置单元503,用于当所述判断处理单元判断所述微服务是与所述资源配置中心对应的微服务时,为所述微服务配置资源;信息发送单元504,用于将为所述微服务配置的资源的数据信息,发送给所述微服务。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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