CN107870845B - 面向微服务架构应用的管理方法及系统 - Google Patents
面向微服务架构应用的管理方法及系统 Download PDFInfo
- Publication number
- CN107870845B CN107870845B CN201710979688.6A CN201710979688A CN107870845B CN 107870845 B CN107870845 B CN 107870845B CN 201710979688 A CN201710979688 A CN 201710979688A CN 107870845 B CN107870845 B CN 107870845B
- Authority
- CN
- China
- Prior art keywords
- service
- application
- abnormal
- dependency relationship
- health
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种面向微服务架构应用的管理方法及系统,该方法包括:根据预设的服务描述语言对待管理应用的各个服务进行应用描述;根据实际物理资源池信息和应用描述,为待管理应用规划对应的应用拓扑;根据应用拓扑和各个服务的服务依赖关系将各个服务部署在对应的物理资源;根据服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查;监控各个服务的健康状态检查结果,当检查出异常服务时,对异常服务和与异常服务具有依赖关系的服务进行错误恢复。本发明在给定物理部署环境下,获得最优拓扑,遵循服务依赖关系部署,持续监控各服务的健康状态,实现异常服务和依赖链上其它服务的错误恢复。
Description
技术领域
本发明涉及微服务架构技术领域,尤其涉及一种面向微服务架构应用的管理方法及系统。
背景技术
微服务是一个新兴的软件架构,就是把一个大型的单个复杂应用程序和服务拆解为一系列功能独立,并通过轻量级接口提供服务的组件。通过对多个服务的功能编排实现应用的整体功能。微服务架构在现代互联网级别的分布式系统中得到了大规模应用。
目前,随着微服务架构的发展、企业应用越来越多把功能集中的且运行在同一个应用中的单体架构拆分成多个相互独立的微服务架构。但是,在微服务架构下,虽然每个服务都可以被独立设计、开发、部署、扩容、更新,降低一损俱损的全局性故障风险,但由于微服务之间存在大量的依赖关系,而且每个微服务都可能发生错误,因此对服务群的管理和运维难度增大,主要体现在规划、部署、监控和错误恢复等方面。现有的实现微服务架构的系统主要有“Google kubernetes”和“Docker swarm+docker compose”等。
在实现本发明过程中,发明人发现现有实现微服务架构的系统存在以下问题:
规划:基于各服务资源需求进行调度,不能感知各服务之间的耦合性,难以做到最优的规划;
部署:对各服务之间的依赖关系不敏感;
监控:只能感知服务实例进程是否存在,不能监测出其健康状态,甚至无运行时监控;
错误恢复:仅能够自动保证预设服务实例个数,或是错误自动重启,无法实现错误自动恢复。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的面向微服务架构应用的管理方法及系统。
本发明的一个方面,提供了一种面向微服务架构应用的管理方法,包括:
根据预设的服务描述语言对待管理应用的各个服务进行应用描述,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息;
根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑;
根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源;
根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查;
监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
其中,所述根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源,包括:
根据各个服务的服务依赖关系构建服务依赖链;
根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源。
其中,所述根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源,包括:
根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对对当前部署的服务进行健康状态检查;
若当前部署的服务均处于健康状态,则根据所述服务依赖链按照由下而上的顺序对上一级别的服务进行部署。
其中,所述监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复,包括:
监控各个服务的健康状态检查结果,检查异常服务;
根据各个服务的服务依赖关系查找与所述异常服务具有依赖关系的下一级别的服务;
重新执行与所述异常服务具有依赖关系的下一级别的服务,并根据执行结果重新执行所述异常服务。
本发明的另一个方面,提供了一种面向微服务架构应用的管理系统,包括:
配置模块,用于根据预设的服务描述语言对待管理应用的各个服务进行应用描述,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息;
调度规划模块,用于根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑;
部署执行模块,用于根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源;
健康检查模块,用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查;
监控模块,用于监控各个服务的健康状态检查结果,当检查出异常服务时,对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
其中,所述部署执行模块,包括:
关系生成子模块,用于根据各个服务的服务依赖关系构建服务依赖链;
部署子模块,用于根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源。
其中,所述健康检查模块,还用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对对当前部署的服务进行健康状态检查;
所述部署子模块,具体用于在当前部署的服务均处于健康状态时,根据所述服务依赖链按照由下而上的顺序对上一级别的服务进行部署。
其中,所述监控模块,包括:
监控子模块,用于监控各个服务的健康状态检查结果,检查异常服务;
查找子模块,用于根据各个服务的服务依赖关系查找与所述异常服务具有依赖关系的下一级别的服务;
错误恢复子模块,用于重新执行与所述异常服务具有依赖关系的下一级别的服务,并根据执行结果重新执行所述异常服务。
此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
此外,本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法的步骤。
本发明实施例提供的面向微服务架构应用的管理方法及系统,能够在给定物理部署环境下,获得优化部署拓扑,在部署执行过程中能够感知各服务之间的依赖关系,并遵循依赖关系进行部署,而且还可以持续监控各服务应用级别的健康状态,实现自动恢复错误服务自身及其依赖链上的其它服务的状态,进而能够有效地缩短部署所需时间和错误恢复时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的一种面向微服务架构应用的管理方法的流程图;
图2为本发明实施例的一种面向微服务架构应用的管理系统的结构示意图;
图3为本发明实施例的计算机设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
为了在给定物理部署环境,获得优化部署拓扑,在部署执行过程中遵循依赖关系,持续监控服务应用级别的健康状态,而且在一个服务宕机后,自动恢复自身及其依赖链上的其它服务的状态,本发明实施例提供了一种面向微服务架构应用的管理方法。图1示意性示出了本发明一个实施例的面向微服务架构应用的管理方法的流程图。参照图1,本发明实施例的面向微服务架构应用的管理方法具体包括以下步骤:
S11、根据预设的服务描述语言对待管理应用的各个服务进行应用描述。
本发明实施例中,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息。
在实际应用中,统一服务描述语言,包括服务元数据和对应的物理部署环境数据,其中:
·服务元数据:服务信息(服务名称、启动信息、服务组信息)、服务健康检查例程、对其它服务的直接依赖;
·物理部署环境数据:宿主机配置、数量、基础网络参数。
具体的,根据软件的服务(模块)划分和分布式特性,利用预设的服务描述语言对待管理应用的各个服务进行应用描述符合SDL定义的应用描述。
S12、根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑。
实际应用中,根据实际物理资源池、角色定义、数量和待管理应用的应用描述规划对应的最优应用拓扑。
S13、根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源。
S14、根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查。
S15、监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
在实际应用中,可以定期检查当前检查周期内所有服务的健康状况,以监控各个服务的健康状态检查结果,进而当出现异常服务时,能够及时地实现异常服务和与所述异常服务具有依赖关系的服务的自动错误恢复。
本发明实施例中,步骤S13中的根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源,具体可以采用以下方式实现:
根据各个服务的服务依赖关系构建服务依赖链;
根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源。
进一步地,所述根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源,具体包括:根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对对当前部署的服务进行健康状态检查;若当前部署的服务均处于健康状态,则根据所述服务依赖链按照由下而上的顺序对上一级别的服务进行部署。
在实际应用中,在进行服务部署过程中,还需要确保部署在物理资源上的服务是健康的、能够正常运行的服务,以保证应用的正常运行。为此,本发明实施例中需要根据服务健康检查例程以及用户自定义的应用级健康状态检查例程对对当前部署的服务进行健康状态检查,在确定当前部署的服务均处于健康状态的情况下,再根据服务依赖链按照由下而上的顺序对上一级别的服务进行部署,实现遵循依赖链和健康状态的滚动部署。
本发明实施例中,步骤S15中的监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复,具体可以采用以下方式实现:
监控各个服务的健康状态检查结果,检查异常服务;
根据各个服务的服务依赖关系查找与所述异常服务具有依赖关系的下一级别的服务;
重新执行与所述异常服务具有依赖关系的下一级别的服务,并根据执行结果重新执行所述异常服务。
在实际应用中,在进行错误自动回复过程中,为了确保错误恢复后服务的正常运行,本发明实施例基于服务健康状态检查结果自动遵循服务依赖关系进行异常服务和与异常服务具有依赖关系的下一级别的服务的错误恢复。
本发明实施例提供的面向微服务架构应用的管理方法,提供了一个面向微服务架构应用的规划、部署和持续监控方法,使用统一服务描述语言定义服务、服务组和宿主机信息,根据服务执行环境决定部署规模和拓扑,能够在给定物理部署环境下,获得优化部署拓扑,在部署执行过程中能够感知各服务之间的依赖关系,并遵循依赖关系进行优化部署,使用用户自定义应用级健康状态检查历程确定服务健康状态,可以持续监控各服务应用级别的健康状态,实现自动恢复错误服务自身及其依赖链上的其它服务的状态,进而能够有效地缩短部署所需时间和错误恢复时间。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图2示意性示出了本发明一个实施例的面向微服务架构应用的管理系统的结构示意图。参照图2,本发明实施例的面向微服务架构应用的管理系统具体包括配置模块201、调度规划模块202、部署执行模块203、健康检查模块204以及监控模块205,其中:
所述的配置模块201,用于根据预设的服务描述语言对待管理应用的各个服务进行应用描述,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息。
所述调度规划模块202,用于根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑。
所述部署执行模块203,用于根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源。
所述健康检查模块204,用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查。
所述监控模块205,用于监控各个服务的健康状态检查结果,当检查出异常服务时,对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
在本发明实施例中,所述部署执行模块203,进一步包括关系生成子模块和部署子模块,其中:关系生成子模块,用于根据各个服务的服务依赖关系构建服务依赖链;部署子模块,用于根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源。
进一步地,所述健康检查模块204,还用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对对当前部署的服务进行健康状态检查。
相应的,所述部署子模块,具体用于在当前部署的服务均处于健康状态时,根据所述服务依赖链按照由下而上的顺序对上一级别的服务进行部署。
在本发明实施例中,所述监控模块205,进一步包括监控子模块、查找子模块以及错误恢复子模块,其中:监控子模块,用于监控各个服务的健康状态检查结果,检查异常服务;查找子模块,用于根据各个服务的服务依赖关系查找与所述异常服务具有依赖关系的下一级别的服务;错误恢复子模块,用于重新执行与所述异常服务具有依赖关系的下一级别的服务,并根据执行结果重新执行所述异常服务。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的面向微服务架构应用的管理方法及系统,能够在给定物理部署环境下,获得优化部署拓扑,在部署执行过程中能够感知各服务之间的依赖关系,并遵循依赖关系进行部署,而且还可以持续监控各服务应用级别的健康状态,实现自动恢复错误服务自身及其依赖链上的其它服务的状态。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法的步骤。
本实施例中,所述面向微服务架构应用的管理装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
图3为本发明实施例提供的计算机设备的示意图。本发明实施例提供的计算机设备,包括存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序,所述处理器302执行所述计算机程序时实现上述各个面向微服务架构应用的管理方法实施例中的步骤,例如图1所示的S11、根据预设的服务描述语言对待管理应用的各个服务进行应用描述。本发明实施例中,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息。S12、根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑。S13、根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源。S14、根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查。S15、监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。。或者,所述处理器302执行所述计算机程序时实现上述各面向微服务架构应用的管理装置实施例中各模块/单元的功能,例如图2所示的配置模块201、调度规划模块202、部署执行模块203、健康检查模块204以及监控模块205。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述面向微服务架构应用的管理装置中的执行过程。例如,所述计算机程序可以被分割成配置模块201、调度规划模块202、部署执行模块203、健康检查模块204以及监控模块205,各模块具体功能如下:配置模块201,用于根据预设的服务描述语言对待管理应用的各个服务进行应用描述,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息。调度规划模块202,用于根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑。部署执行模块203,用于根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源。健康检查模块204,用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查。监控模块205,用于监控各个服务的健康状态检查结果,当检查出异常服务时,对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图3仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种面向微服务架构应用的管理方法,其特征在于,包括:
根据预设的服务描述语言对待管理应用的各个服务进行应用描述,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息;
根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑;
根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源;
根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查;
监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
2.根据权利要求1所述的方法,其特征在于,所述根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源,包括:
根据各个服务的服务依赖关系构建服务依赖链;
根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源。
3.根据权利要求2所述的方法,其特征在于,所述根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源,包括:
根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对当前部署的服务进行健康状态检查;
若当前部署的服务均处于健康状态,则根据所述服务依赖链按照由下而上的顺序对上一级别的服务进行部署。
4.根据权利要求1所述的方法,其特征在于,所述监控各个服务的健康状态检查结果,当检查出异常服务时对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复,包括:
监控各个服务的健康状态检查结果,检查异常服务;
根据各个服务的服务依赖关系查找与所述异常服务具有依赖关系的下一级别的服务;
重新执行与所述异常服务具有依赖关系的下一级别的服务,并根据执行结果重新执行所述异常服务。
5.一种面向微服务架构应用的管理系统,其特征在于,包括:
配置模块,用于根据预设的服务描述语言对待管理应用的各个服务进行应用描述,所述服务描述语言包括服务元数据和对应的物理部署环境数据,所述服务元数据用于描述服务信息、服务依赖关系和服务健康检查例程,所述物理部署环境数据用于描述宿主机信息;
调度规划模块,用于根据实际物理资源池信息和所述应用描述中各个服务的宿主机信息,为所述待管理应用规划对应的应用拓扑;
部署执行模块,用于根据所述应用拓扑以及各个服务的服务依赖关系将所述待管理应用的各个服务部署在对应的物理资源;
健康检查模块,用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对部署在物理资源上的服务进行健康状态检查;
监控模块,用于监控各个服务的健康状态检查结果,当检查出异常服务时,对所述异常服务和与所述异常服务具有依赖关系的服务进行错误恢复。
6.根据权利要求5所述的系统,其特征在于,所述部署执行模块,包括:
关系生成子模块,用于根据各个服务的服务依赖关系构建服务依赖链;
部署子模块,用于根据所述服务依赖链按照由下而上的顺序对所述待管理应用的各个服务部署在对应的物理资源。
7.根据权利要求6所述的系统,其特征在于,所述健康检查模块,还用于根据所述服务健康检查例程以及用户自定义的应用级健康状态检查例程对当前部署的服务进行健康状态检查;
所述部署子模块,具体用于在当前部署的服务均处于健康状态时,根据所述服务依赖链按照由下而上的顺序对上一级别的服务进行部署。
8.根据权利要求5所述的系统,其特征在于,所述监控模块,包括:
监控子模块,用于监控各个服务的健康状态检查结果,检查异常服务;
查找子模块,用于根据各个服务的服务依赖关系查找与所述异常服务具有依赖关系的下一级别的服务;
错误恢复子模块,用于重新执行与所述异常服务具有依赖关系的下一级别的服务,并根据执行结果重新执行所述异常服务。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710979688.6A CN107870845B (zh) | 2017-10-19 | 2017-10-19 | 面向微服务架构应用的管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710979688.6A CN107870845B (zh) | 2017-10-19 | 2017-10-19 | 面向微服务架构应用的管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107870845A CN107870845A (zh) | 2018-04-03 |
CN107870845B true CN107870845B (zh) | 2020-10-27 |
Family
ID=61753094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710979688.6A Active CN107870845B (zh) | 2017-10-19 | 2017-10-19 | 面向微服务架构应用的管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107870845B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11870858B2 (en) | 2022-02-01 | 2024-01-09 | International Business Machines Corporation | Intelligent, fast-forwarded health checks within service mesh |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595316B (zh) * | 2018-04-20 | 2020-02-21 | 星环信息科技(上海)有限公司 | 分布式应用的生命周期管理方法、管理器、设备和介质 |
CN109067828B (zh) * | 2018-06-22 | 2022-01-04 | 杭州才云科技有限公司 | 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备 |
CN109672662B (zh) * | 2018-10-11 | 2021-03-26 | 中山大学 | 一种微服务环境中服务依赖关系构建方法 |
CN109471616A (zh) * | 2018-10-26 | 2019-03-15 | 数贸科技(北京)有限公司 | 基于应用Jar包文件的应用编排方法及装置 |
CN109491763B (zh) * | 2018-11-14 | 2021-07-20 | 北京奇艺世纪科技有限公司 | 一种系统部署方法、装置及电子设备 |
CN109739550B (zh) * | 2018-12-28 | 2019-08-06 | 四川新网银行股份有限公司 | 一种基于互联网分布式下的微服务业务调度方法 |
CN110825391B (zh) * | 2019-10-31 | 2023-10-13 | 北京金山云网络技术有限公司 | 服务管理方法、装置、电子设备及存储介质 |
CN111198679B (zh) * | 2019-12-18 | 2024-04-05 | 北京航天测控技术有限公司 | 一种多语言健康管理模型的融合方法、装置 |
CN111158987B (zh) * | 2019-12-31 | 2023-09-19 | 中国银行股份有限公司 | 微服务架构的健康检查方法及装置 |
US11397630B2 (en) | 2020-01-02 | 2022-07-26 | Kyndryl, Inc. | Fault detection and correction of API endpoints in container orchestration platforms |
CN111130955B (zh) * | 2020-03-31 | 2020-08-21 | 四川新网银行股份有限公司 | 基于互联网信贷系统的分布式链路监控方法 |
CN113535254A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 一种微服务的处理方法、部署方法和相关装置 |
CN111736983B (zh) * | 2020-05-25 | 2023-12-26 | 南京大学 | 一种面向任务和资源感知的微服务部署方法 |
CN111835592B (zh) * | 2020-07-14 | 2022-09-27 | 北京百度网讯科技有限公司 | 用于确定健壮性的方法、装置、电子设备及可读存储介质 |
CN112130871B (zh) * | 2020-09-27 | 2022-11-15 | 深圳平安医疗健康科技服务有限公司 | 远程部署中间件的方法、装置、计算机设备及存储介质 |
CN113051043A (zh) * | 2021-03-10 | 2021-06-29 | 北京沃东天骏信息技术有限公司 | 微服务异常补偿方法和装置 |
CN113504972A (zh) * | 2021-07-26 | 2021-10-15 | 京东科技控股股份有限公司 | 一种服务部署方法及装置、电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489893B2 (en) * | 2010-01-29 | 2013-07-16 | Hewlett-Packard Development Company, L.P. | Encryption key rotation messages written and observed by storage controllers via storage media |
US9170917B2 (en) * | 2011-04-01 | 2015-10-27 | Paypal, Inc. | Flow tracing though diverse logical and physical application and infrastructure layers/dependencies |
CN102158490B (zh) * | 2011-04-07 | 2013-10-23 | 山东中创软件商用中间件股份有限公司 | 基于OSGi的服务转换方法和装置 |
CN106227611A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
-
2017
- 2017-10-19 CN CN201710979688.6A patent/CN107870845B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11870858B2 (en) | 2022-02-01 | 2024-01-09 | International Business Machines Corporation | Intelligent, fast-forwarded health checks within service mesh |
Also Published As
Publication number | Publication date |
---|---|
CN107870845A (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870845B (zh) | 面向微服务架构应用的管理方法及系统 | |
US10956143B2 (en) | Server updates | |
CN110225078B (zh) | 一种应用服务更新方法、系统及终端设备 | |
WO2015021931A1 (en) | Task-based modeling for parallel data integration | |
CN109298924B (zh) | 定时任务的管理方法、计算机可读存储介质和终端设备 | |
US9690576B2 (en) | Selective data collection using a management system | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
CN113938321B (zh) | 可扩展的运维管理系统、方法、电子设备和可读存储介质 | |
CN112000353A (zh) | 应用运行方法、装置及存储介质 | |
US10261922B2 (en) | Field device commissioning system and field device commissioning method | |
CN114721686A (zh) | 配置数据更新方法、装置、电子设备和存储介质 | |
CN111782210A (zh) | 页面管理方法、装置、电子设备及计算机可读介质 | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN111885158A (zh) | 一种集群任务处理方法、装置、电子设备及存储介质 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN108958745B (zh) | 一种在云平台部署Spark集群的装置和方法 | |
CN110532150A (zh) | 一种机箱管理方法、装置、存储介质及处理器 | |
CN105183531A (zh) | 分布式开发平台及其计算方法 | |
CN110659125A (zh) | 一种分析任务执行方法、装置、系统及电子设备 | |
CN114265605A (zh) | 一种业务系统功能组件的版本回退方法和装置 | |
CN109151016B (zh) | 流量转发方法和装置、服务系统、计算设备及存储介质 | |
US8495033B2 (en) | Data processing | |
CN114168275B (zh) | 任务调度方法、系统、终端设备及存储介质 | |
CN108206745B (zh) | 业务的操作方法、装置及云计算系统 | |
US11392493B2 (en) | System and method for optimizing non-volatile random access memory usage |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180619 Address after: 100000 D1 six (five) D1, block B, Wang Zhuang Road, Haidian District, Beijing. Applicant after: Beijing industrial data Innovation Center Co., Ltd. Applicant after: Sichuan Kunlun Zhihui Data Technology Co., Ltd. Address before: 100000 D1 six (five) D1, block B, Wang Zhuang Road, Haidian District, Beijing. Applicant before: Beijing industrial data Innovation Center Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |