一种基于PaaS的微服务编排引擎管理方法技术

技术编号:25802075 阅读:24 留言:0更新日期:2020-09-29 18:36
本发明专利技术公开了一种基于PaaS的微服务编排引擎管理方法,具体步骤如下:S1:定义工作流;S2:执行工作流;S3:识别工作流;S4:微服务组合方法成形;使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,实现不同建模语言的集成及交互,为用户打造一站式的分布式事务解决方案,从而支持后续的个性化供应链服务方案构建和动态变化性场景下的优化决策。

【技术实现步骤摘要】
一种基于PaaS的微服务编排引擎管理方法
本专利技术属于微服务
,具体涉及一种基于PaaS的微服务编排引擎管理方法。
技术介绍
随着互联网技术的发展,大型IT系统一般采用分布式计算模式,以优化资源配置并提高系统可靠性、可用性、灵活性等。为了便于分布式信息系统的设计、开发与集成,以及提高系统架构的灵活性、复用性、可增长性,面向服务的体系结构SOA(Service-OrientedArchitecture)随即产生。SOA体系结构将定义良好的、具有开放接口并独立于硬件、软件平台以及实现技术的单个服务组件关联起来,以构造整体应用并采用松耦合的方式保护既有IT基础设施。而Web服务及其相关标准和SOAP、WSDL、UDDI等协议的出现,为SOA的实现提供了技术支撑和处理方案,成为近十多年以来服务计算领域的重点研究内容之一。尽管基于SOA体系结构下,Web服务为跨平台的企业开发提供了方便,但是在开发模式上,采用的是单体架构模式。单体架构将所有业务所需的逻辑模块、运行数据等作为整体被设计、开发、打包并部署运行。然而,随着企业业务复杂度的增大以及业务需求的增加,单体架构对于需要应对业务逻辑复杂、数据量庞大,具有高实时性、高可靠性、高伸缩性运行要求的在线软件系统来说,具有难以被设计实现、部署效率低、不利于维护等缺点。随着互联网技术的快速发展,越来越多企业对系统的可靠性、可用性、灵活性及高并发处理能力等方面要求越来越高,而传统的SOA体系结构并不能完全满足这样的需求,因此,一种最佳的实践方式就是微服务化。微服务(Microservices)作为一种新兴的技术,在异构分布式计算、数据与代码重用等方面实现了更好的解决方案,并具备高度的平台互操作性、动态扩展能力、强大的容错能力等,受到了工程界、学术界的极大关注。然而,单个微服务提供的功能有限,多数情况下需对系统已有的微服务进行灵活组装,实现更为丰富的服务组合方案,用于满足多样性的用户需求。因此,微服务组合作为微服务体系结构中的重点研究内容。微服务其核心要义在于基于面向服务的思想,对传统大型应用系统进行功能分解,推动细粒度服务的使用,将原先的单块应用拆分为一系列可被独立设计、开发、部署、运维的软件服务单元,服务间相互协作并拥有独立的数据库。实际上,微服务与SOA所推崇的思想相似,但是微服务无论是在服务粒度的划分或者集成方式以及服务部署方面都要比SOA更为细致、灵活、简单,因此更适合如今企业发展的需求。在微服务体系结构中,基于单一职责原则,将传统的单体应用分解为多个微服务。通常,单个微服务提供的功能有限,多数时候需对系统已有的微服务进行灵活组合从而满足用户多样的业务需求。因此,微服务组合可以利用较小、较简单、且易于执行的轻量级微服务来创建功能更为丰富、更满足用户要求的复杂服务,从而将松散耦合的、具备独立功能分散在进程内的多个微服务集成在一起实现更为强大的功能,以支持企业内外部多样性的应用需求。实际上,与组合Web服务的思路类似,微服务组合需将多个独立、功能明确的微服务通过某种机制,聚合成满足应用需求、功能更为完整的整体应用以提供服务。在微服务组合方面,一种直观的做法就是借鉴Web服务组合的思路和策略。在Web服务组合中,通常采用Choreography(编排)或Orchestration(编制)两种服务聚合策略,并分别采用CDL语言(Cho-reographyDescriptionLanguage)、BPEL语言(Busi-nessProcessExecutionLanguage)来描述服务之间的交互、协作或通信过程。尽管服务编排、编制语言在Web服务组合中获得成功,但难以直接被应用至微服务组合中。事实上,上述两种语言属于底层基于句法的描述语言,随着交互服务数量的增加将导致组合服务代码复杂性的增大。另一方面,它们要求单元服务有定义良好的接口以及交互信息的强类型约束。但是,快速变化的微服务使得难以快速定义其接口并且难以被快速部署。同时,前述两种语言需要有中心执行引擎如ESB(EnterpriseServiceBus)等,难以被用于微服务体系结构中。
技术实现思路
本专利技术的目的在于提供一种基于PaaS的微服务编排引擎管理方法,以解决上述
技术介绍
中提出现有技术中CDL语言和BPEL语言属于底层基于句法的描述语言,随着交互服务数量的增加将导致组合服务代码复杂性的增大。另一方面,它们要求单元服务有定义良好的接口以及交互信息的强类型约束。但是,快速变化的微服务使得难以快速定义其接口并且难以被快速部署。同时,前述两种语言需要有中心执行引擎如ESB(EnterpriseServiceBus)等,难以被用于微服务体系结构中的问题。为实现上述目的,本专利技术采用了如下技术方案:一种基于PaaS的微服务编排引擎管理方法,具体步骤如下:S1:定义工作流,使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎;S2:执行工作流,使用编排引擎工具管理和控制预先定义的工作流的执行;S3:识别工作流,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行;S4:微服务组合方法成形,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,任务队列用于为worker安排任务,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展。优选的,所述S1中所述的工作流任务主要由Worker实现,相互之间通过API层(通过HTTP公开)实现通信。优选的,所述S2中所述的服务工作流与编排引擎交互的过程,其中Worker任务由应用程序实现可支持多种语言,并与编排引擎在不同的环境中运行,Worker主要基于HTTP的端点或任何支持的RPC机制与编排引擎进行通信,并使用轮询模型管理工作队列,轮询模型允许用户在Workers上处理背压,并在可能时,基于队列深度提供自动可伸缩性。优选的,所述API层的建立方式使指APILayer事务策略的命名的,基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的API层,这个层是一个逻辑层,有时也被称为应用程序的域层(domainlayer)或facade层,它以公共方法或接口的形式向客户机(或表示层)公开功能,之所以说是逻辑层,是因为可以从本地访问域层(通过直接实例化和调用),或通过HTTP、远程方法调用(RMI)、通过EJB使用RMIoverInternetInter-OrbProtocol(RMI-IIOP),甚至通过JavaMessageService(JMS)进行远程访问。优选的,所述S4中的微服务组合方法还包括基于状态演算的微服务组合方法和基于形式化语言的微服务组合方法。优选的,所述基于状态演算的微服务组合方法,主要基于微服务组合的具体描述及服务状态图模型的映射关系,为微服务组合建立形式化模型,并通过形式化的本文档来自技高网
...

【技术保护点】
1.一种基于PaaS的微服务编排引擎管理方法,其特征在于:该编排引擎管理方法具体步骤如下:/nS1:定义工作流,使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎;/nS2:执行工作流,使用编排引擎工具管理和控制预先定义的工作流的执行;/nS3:识别工作流,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行;/nS4:微服务组合方法成形,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,任务队列用于为worker安排任务,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展。/n

【技术特征摘要】
1.一种基于PaaS的微服务编排引擎管理方法,其特征在于:该编排引擎管理方法具体步骤如下:
S1:定义工作流,使用特定的建模语言定义工作流任务,工作流可作为定义服务组合的建模工具或是分布式活动的协调控制引擎;
S2:执行工作流,使用编排引擎工具管理和控制预先定义的工作流的执行;
S3:识别工作流,将预定义的服务组合用工作流蓝图与实际的服务实例执行状态相结合,以识别下一个服务并实现服务组合工作流的跟踪、管理及正确执行;
S4:微服务组合方法成形,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展,任务队列用于为worker安排任务,编排引擎可通过API接口检查单个Worker的工作负载能力,并实现Worker实例的自动伸缩扩展。


2.根据权利要求1所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述S1中所述的工作流任务主要由Worker实现,相互之间通过API层(通过HTTP公开)实现通信。


3.根据权利要求1所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述S2中所述的服务工作流与编排引擎交互的过程,其中Worker任务由应用程序实现可支持多种语言,并与编排引擎在不同的环境中运行,Worker主要基于HTTP的端点或任何支持的RPC机制与编排引擎进行通信,并使用轮询模型管理工作队列,轮询模型允许用户在Workers上处理背压,并在可能时,基于队列深度提供自动可伸缩性。


4.根据权利要求2所述的一种基于PaaS的微服务编排引擎管理方法,其特征在于:所述API层的建立方式使指APILayer事务策略的命名的,基于这样一个事实:所有事务逻辑包含在逻辑应用程序架构的API层,这个层是一个逻辑层,有时也被称为应用程序的域层(domainlayer)或facade层,它以公共方法或接口的形式向客户机(或表示层)公开功能...

【专利技术属性】
技术研发人员:孙紫阳
申请(专利权)人:南京龙猫商业智能科技股份有限公司
类型:发明
国别省市:江苏;32

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

1