CN115543491A - 微服务处理方法和装置 - Google Patents

微服务处理方法和装置 Download PDF

Info

Publication number
CN115543491A
CN115543491A CN202110742453.1A CN202110742453A CN115543491A CN 115543491 A CN115543491 A CN 115543491A CN 202110742453 A CN202110742453 A CN 202110742453A CN 115543491 A CN115543491 A CN 115543491A
Authority
CN
China
Prior art keywords
micro
service
flow chart
event
resources
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.)
Pending
Application number
CN202110742453.1A
Other languages
English (en)
Inventor
司心超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202110742453.1A priority Critical patent/CN115543491A/zh
Publication of CN115543491A publication Critical patent/CN115543491A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种微服务处理方法和装置。该方法包括:获取微服务流程图,其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程;将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中;调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源,其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。本发明解决了相关技术中由于采用消息中间件编码多个微服务,从而导致软件的开发效率较低的技术问题。

Description

微服务处理方法和装置
技术领域
本发明涉及微服务处理领域,具体而言,涉及一种微服务处理方法和装置。
背景技术
目前,随着微服务和容器化的流行,软件开发通常会被拆分为多个微服务,以容器的形式进行部署。但是,微服务的拆分粒度、微服务编排、准备开发、测试环境、服务资源等问题会占用软件开发周期的大量时间,增加开发难度和成本。同时上线后的异常也会降低软件的可用性。比如部门内规划两个软件,如果不能合理的将两个软件进行功能拆分,减少重复功能、重复代码,那么开发人员不仅要关注代码逻辑的实现,还要关注测试、环境、资源等问题。
目前关于解耦、异步的处理可以采用消息中间件进行规划,比如:RabbitMQ(开源的消息队列服务软件)、ActiveMQ(开源消息总线)等等,但是无法通过一定的业务逻辑来编排多个微服务,因此会导致软件的开发的效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种微服务处理方法和装置,以至少解决相关技术中由于采用消息中间件编码多个微服务,从而导致软件的开发效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种微服务的处理方法,提供了一种商城平台操作流程的测试方法,包括:获取微服务流程图,其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程;将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中;调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源,其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
可选地,在获取微服务流程图之前,该方法还包括:创建微服务流程图,其中,微服务流程图至少包括一个入口网关;基于每个入口网关来调用API接口;通过调用的API接口来接收事件;通过定义事件需要流转的微服务,确定微服务流程图中的业务逻辑流程;校验业务逻辑流程,如果校验通过,保存微服务流程图。
可选地,在确定微服务流程图中的业务逻辑流程之后,该方法还包括:将事件发送到对应的流程图资源;流程图资源获取对应服务的容器,并采用容器来处理事件。
可选地,微服务之间采用异步调用。
可选地,该方法还包括:当事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,异常处理服务将异常事件的信息存储到数据库,并记录失败的微服务。
可选地,该方法还包括:按照预定的时间周期,间隔性的将异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将事件标注为重试失败状态。
根据本发明实施例的另一方面,还提供了一种微服务的处理装置,包括:获取模块,用于获取微服务流程图,其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程;部署模块,用于将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中;控制模块,用于调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源,其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
可选地,该装置还包括:创建模块,用于创建微服务流程图,其中,微服务流程图至少包括一个入口网关;调用模块,用于基于每个入口网关来调用API接口;接收模块,用于通过调用的API接口来接收事件;确定模块,用于通过定义事件需要流转的微服务,确定微服务流程图中的业务逻辑流程;校验模块,用于校验业务逻辑流程,如果校验通过,保存微服务流程图。
可选地,该装置还包括:发送模块,用于将事件发送到对应的流程图资源;处理模块,用于流程图资源获取对应服务的容器,并采用容器来处理事件。
可选地,微服务之间采用异步调用。
可选地,该装置还包括:异常处理模块,用于当事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,异常处理服务将异常事件的信息存储到数据库,并记录失败的微服务。
可选地,该装置还包括:重试模块,用于按照预定的时间周期,间隔性的将异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将事件标注为重试失败状态。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的微服务的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的微服务的处理方法。
在本发明实施例中,首先获取微服务流程图,其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程;然后将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中;最后调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源,其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联,实现了通过业务逻辑来编排多个微服务,并保存为微服务资源,可以减少重复的功能和重复的代码,使得开发人员无需关注测试、环境、资源等问题,专注与代码逻辑的实现,以保证软件的可用性,并且,通过流程图的形式编排微服务,可以实现既定的业务功能,进而解决了相关技术中由于采用消息中间件编码多个微服务,从而导致软件的开发效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种微服务的处理方法的流程图;
图2根据本发明实施例的一种产品时序示意图;
图3根据本发明实施例的一种事件流转示意图;
图4根据本发明实施例的一种业务场景示意图;
图5根据本发明实施例的一种微服务的处理装置的示意图;
图6根据本发明实施例的一种数据请求的处理方法的计算机终端的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种微服务的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种微服务的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取微服务流程图。
其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程。
上述的微服务是一种软件架构风格,是以专注与单一责任与功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关的API(应用程序接口)集相互通信。
上述的微服务流程图可以是用户根据需求通过编排多个微服务而生成的业务逻辑流程。其中,用户可以按照平台的界面提示,在用户所在项目的工作空间下,绘制出一份微服务流程图。
步骤S104,将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中。
上述的集群环境可以是K8s集群环境。
在一种可选的实施例中,可以由用户选择需要保存的流程图,并将该流程图保存至对应的K8s集群环境中。具体的,用户可以发送请求至Edgy-Server(后台服务),Edgy-Server从mongo(基于分布式文件存储的开源数据库系统)数据库查询对应的流程图后,可以将流程图转化为K8s的CRD资源(Custom Resource Define,自定义资源),并将CRD资源部署到k8s集群环境。具体的,可以将CRD资源保存到K8s集群中的Etcd(et-see-dee,开源的分布式统一键值存储)中。
其中,K8s集群是一组运行容器化应用程序的节点计算机。集群至少包含一个控制平面,以及一个或多个计算机器或节点,控制平面负责维护集群的理想状态。
步骤S106,调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源。
其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
上述的控制器可以是自行开发的自定义流程图(CRD Flow Char)控制器。
上述的调用关系可以根据用户的微服务创建需求自行设置。
上述的微服务资源可以为Knative(开源社区项目)资源,其中,Knative是一个开源社区项目,其可以向Kubernetes(可移植的、可扩展的开源平台)中添加组件,从而更加轻松地部署、运行和管理无服务器的云原生应用。无服务器的云计算模型可以提高开发人员的生产率并降低运维成本。
在一种可选的实施例中,可以通过开发的CRD Flow Chart控制器,将流程图资源转化为Knative资源。当流程图被存储到K8s集群中的Etcd时,对应的CRD控制器Edgy-Controller(前卫控制器)会Watch(注意)到该资源的创建,将每个微服务创建为Knative的服务资源(Service)并且根据流程图里定义的微服务调用关系,将其通过Knative的串行资源(Sequence)和并行资源(Parallel)进行串联。
其中,Service作为一种服务资源,当有请求时,自动根据服务的镜像,创建对应的容器,对外提供服务。没有请求时,自动关闭容器,释放资源。Sequence作为一种串行资源,将依次执行的微服务通过串行资源进行串联。Parallel作为一种并行资源,将需要并行微服务通过并行资源进行串联。
通过上述步骤,首先获取微服务流程图,其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程;然后将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中;最后调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源,其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联,实现了通过业务逻辑来编排多个微服务,并保存为微服务资源,可以减少重复的功能和重复的代码,使得开发人员无需关注测试、环境、资源等问题,专注与代码逻辑的实现,以保证软件的可用性,并且,通过流程图的形式编排微服务,可以实现既定的业务功能,进而解决了相关技术中由于采用消息中间件编码多个微服务,从而导致软件的开发效率较低的技术问题。
可选地,在获取微服务流程图之前,该方法还包括:创建微服务流程图,其中,微服务流程图至少包括一个入口网关;基于每个入口网关来调用API接口;通过调用的API接口来接收事件;通过定义事件需要流转的微服务,确定微服务流程图中的业务逻辑流程;校验业务逻辑流程,如果校验通过,保存微服务流程图。
上述的入口网关部署在负载均衡服务器和应用服务器之间,可以提供给客户端一个统一的接入地址,还可以做一些与黑白名单相关的事情,例如针对设备名称、用户名称等维度的黑白名单,还可以进行日志记录,例如记录http请求的访问日志等。
在一种可选的实施例中,用户可以按照平台的界面提示在用户所在项目的工作空间中绘制微服务流程图,该流程图主要包含一个入口网关,该入口网关用于调用API接口来接收事件,在接收事件之后,入口网关可以按照业务逻辑定义事件中需要流转的微服务,向后台服务发送请求,在后台服务校验通过之后,可以将创建的微服务流程图保存在mongo数据库中。
其中,由于微服务流程图入口为一个网关,因此可以根据用户需求暴露一个集群内或者集群外的API接口,用户只需要按照事件的数据结构来构造事件数据,并发送到对应的API接口即可。
可选地,在确定微服务流程图中的业务逻辑流程之后,该方法还包括:将事件发送到对应的流程图资源;流程图资源获取对应服务的容器,并采用容器来处理事件。
上述的流程图资源可以为Knative资源。
上述的容器为包含在任何环境中所需的所有元素的软件包。容器可以虚拟化操作系统,并在任何地方运行,不管目标环境是私有数据中心、公有云还是开发者的个人笔记本电脑,都可以进行运行。
在一种可选的实施例中,在确定微服务流程图中的业务逻辑后,用户可以将对应的事件发送到入口网关的API接口中,在将事件发送成功之后,会收到一个202的状态码,其中,202状态码用于表示服务器已接受请求,但是尚未进行处理,表示该服务可能会被拒绝,最终该请求可能会被执行,也可能不会被执行。
进一步地,入口网关根据流程图资源中配置的流转逻辑,可以将该事件发送到对应的Knative资源中,其中,Knative负责拉起对应服务的容器,并采用该容器来处理事件,以完成对应的业务逻辑。
可选地,微服务之间采用异步调用。
上述的异步调用可以让调用方法的主线程不需要同步等待在这个函数的调用上,从而可以让主线程继续执行下面的代码,其在处理从外部输入的数据时特别有效。
在一种可选的实施例中,微服务之间采用异步调用,从上游发送到下游之后,其并不下游是否执行成功,由此可以提高效率。
可选地,该方法还包括:当事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,异常处理服务将异常事件的信息存储到数据库,并记录失败的微服务。
上述发生异常的情况可以为代码实现的健壮性(也称作为鲁棒性,稳定性)、网络抖动等其他原因。
在一种可选的实施例中,当事件在流转的过程中发生异常时,会导致事件没有完全处理完成或者丢失。针对此问题,可以在事件的流转过程中发生异常时,将异常的事件发送到异常处理服务(delivery)中,异常处理服务可以将异常事件的信息存储到数据库,并记录失败的微服务信息。
上述的异常处理服务可以在事件流转的过程中发生异常时自动触发,也可以由用户主动触发。
可选地,该方法还包括:按照预定的时间周期,间隔性的将异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将事件标注为重试失败状态。
上述预定的时间周期可以自行设定。
在一种可选的实施例中,在记录失败的微服务之后,可以提供三次自动重试,每次间隔15分钟,每次可以将异常事件发送到失败的微服务,如果三次之后仍然失败,则将事件标注为重试失败状态,并提醒用户主动排查失败原因,在用户排查完失败原因之后,可以手动进行重试。
在另一种可选的实施例中,用户可以根据日志、监控等信息排查事件具体失败的原因。并在修复完之后可以在前台页面,搜索失败的异常事件,然后将异常的事件重新发送到失败的微服务,直至该微服务成功。
下面结合图2和图4对本发明一种优选的实施例进行详细说明。
如图2所示为根据本发明实施例的一种产品时序示意图,首先创建微服务流程图,用户按照平台的界面提示,在用户所在项目的工作空间下,绘制一份微服务流程图,该流程图主要包含一个入口网关,网关用来暴露API接口接收事件,入口网关按照业务逻辑定义事件需要流转的微服务,在将请求发送到Edgy-Server之后,并校验通过后可以将流程图保存到mongo数据库中。
进一步地,可以部署微服务流程图,用户先选择保存成功的微服务流程图,然后保存到对应的K8s集群环境中,请求发送到Edgy-Server之后,Edgy-Server可以从mongo数据库查询对应的微服务流程图后,此时可以将微服务流程图转化为K8s的CRD资源,并将转化后的CRD资源部署到k8s集群环境,保存到K8s集群中的Etcd中。
又进一步地,可以将微服务流程图转化为Knative资源:通过开发的CRDFlowChart控制器,将微服务流程图资源转化为Knative资源。当微服务流程图被存储到Etcd时,对应的CRD控制器Edgy-Controller会Watch到该资源的创建,将每个微服务创建为Knative的Service资源并且根据微服务流程图里定义的微服务调用关系,将其通过Knative的sequence和parallel进行串联。
如图3所示为根据本发明实施例的一种事件流转示意图,首先接收事件,具体的,微服务流程图中部署由一个入口网关,该入口网关会根据用户需求暴露一个集群内或者集群外的API接口,此时,用户可以按照事件的数据结构,构造事件数据,并发送到对应的API接口即可。
进一步地,处理事件,用户将事件发送到对应的API接口,发送成功后会收到202的状态码,之后网关根据流程图里配置的流转逻辑,将事件发送到对应的Knative资源,Knative负责拉起对应服务的容器以处理事件,然后完成对应的业务逻辑。微服务之间异步调用,上游发送到下游后并不关心下游是否执行成功,能够提高微服务调用的效率。
进一步地,由于代码实现的健壮性以及网络抖动等其他原因,不可避免的会存在异常问题,也即,会出现异常事件,从而导致事件没有完全处理完成或者丢失。针对此问题,提供了异常处理服务,当事件在流转的过程中发生异常,会将异常的事件发送到异常处理服务,异常处理服务首先将异常事件的信息存储到数据库,记录失败的微服务信息,然后提供三次自动重试,每次间隔15分钟,将异常事件发送到失败的微服务,如果三次之后仍然失败,则将事件标注为重试失败状态。需要用户排查失败原因后进行手动重试。其中,手动重试可以为用户根据日志、监控等信息排查事件具体失败的原因。修复之后可以在前台页面,搜索失败的异常事件,将异常的事件重新发送到失败的微服务。
如图4所示为根据本发明实施例的一种业务场景示意图,其中,该业务场景示意图中有工单通知功能,可以对企业业务流程进行全方位标准化管理和监控,对实施人员进行实时派单返单、超时提醒,提高服务质量与用户满意度。当用户创建了一个工单后,需要存储、匹配部门、确定处理人员。在事件驱动平台,可以将工单的创建、取消理解为一个事件,将事件发送到服务流程图后,自动完成后续的找人、通知等业务逻辑。
具体的,开发人员首先将工单处理的逻辑拆分为多个微服务,然后通过事件驱动平台的流程图界面,绘制微服务流程图,部署到事件平台的环境中。broker(代理接口)作为API网关的一种对外暴露API接口,工单系统将工单事件发送到网关提供的接口。网关下提供事件类型和事件来源的过滤器,根据不同的类型事件,后续进行不同的逻辑处理。如果有相同的业务逻辑时,流程图中可以以串联的形式展示,比如图三中存储工单到通知处理人,这几个微服务是每个工单生命周期都需要的,可以串联处理。工单事件会依次流转各个微服务,进行业务逻辑处理,最后通知对应的处理人。工单以异步的方式进行流转,上游并不关心下游的状态。如果某个微服务处理异常,会将失败的微服务信息和事件信息发送到异常处理服务,定时重试来保障事件流转。
图4中broker可以触发三种类型的工单事件,即,不良品问题、服务网点建设问题、安装问题,在触发到不良品问题的工单事件之后,填充的元素为时长、售后、网格元素;在触发到服务网点建设问题的工单事件之后,填充的元素为售后、网格元素;在触发到安装问题的工单事件之后,填充的元素为售后、网格元素;在填充完元素之后,可以设置工单状态为New,并存储工单,然后查询客户码,根据该客户码可以查询到客户信息,然后填充角色信息,并校验该角色信息的完整性,查询到处理人以及升级人,最后通知查询到的处理人。
通过上述内容,可以以流程图的形式编排微服务集合,将微服务绘制成流程图的形式,实现既定的业务功能,以流程图形式的微服务编排,直观的展示微服务之间的逻辑关系。在事件处理异常时,可以记录异常的服务和事件内容,,通过该异常处理机制,可以保证事件流转的可靠性,通过微服务之间异步调用,提高事件的流转效率。其事件补偿机制,默认会三次尝试将异常的消息发送到异常的服务。手动处理异常事件,当服务无法处理事件时,可以通过页面实现事件的重试。
实施例2
根据本发明实施例,还提供了一种微服务的处理装置,该装置可以执行上述实施例中的微服务处理方法,具体实现方式和优选应用场景与上述实施例相同,在此不做赘述。
图5是根据本发明实施例的一种微服务的处理装置的示意图,如图5所示,该装置包括:
获取模块52,用于获取微服务流程图,其中,微服务流程图表征编排多个微服务而生成的业务逻辑流程。
部署模块54,用于将微服务流程图转化为流程图资源,并将流程图资源部署到集群环境中。
控制模块56,用于调用控制器将部署到集群环境中的流程图资源进行转换,得到微服务资源,其中,微服务资源基于微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
可选地,该装置还包括:创建模块,用于创建微服务流程图,其中,微服务流程图至少包括一个入口网关;调用模块,用于基于每个入口网关来调用API接口;接收模块,用于通过调用的API接口来接收事件;确定模块,用于通过定义事件需要流转的微服务,确定微服务流程图中的业务逻辑流程;校验模块,用于校验业务逻辑流程,如果校验通过,保存微服务流程图。
可选地,该装置还包括:发送模块,用于将事件发送到对应的流程图资源;处理模块,用于流程图资源获取对应服务的容器,并采用容器来处理事件。
可选地,微服务之间采用异步调用。
可选地,该装置还包括:异常处理模块,用于当事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,异常处理服务将异常事件的信息存储到数据库,并记录失败的微服务。
可选地,该装置还包括:重试模块,用于按照预定的时间周期,间隔性的将异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将事件标注为重试失败状态。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1、获取微服务流程图,其中,所述微服务流程图表征编排多个微服务而生成的业务逻辑流程;
S2、将所述微服务流程图转化为流程图资源,并将所述流程图资源部署到集群环境中;
S3、调用控制器将部署到集群环境中的所述流程图资源进行转换,得到微服务资源,其中,所述微服务资源基于所述微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
可选地,上述存储介质还可以被设置为存储用于执行以下步骤的程序代码:创建微服务流程图,其中,微服务流程图至少包括一个入口网关;基于每个入口网关来调用API接口;通过调用的API接口来接收事件;通过定义事件需要流转的微服务,确定微服务流程图中的业务逻辑流程;校验业务逻辑流程,如果校验通过,保存微服务流程图。
可选地,上述存储介质还可以被设置为存储用于执行以下步骤的程序代码:将事件发送到对应的流程图资源;流程图资源获取对应服务的容器,并采用容器来处理事件。
可选地,上述存储介质还可以被设置为存储用于执行以下步骤的程序代码:微服务之间采用异步调用。
可选地,上述存储介质还可以被设置为存储用于执行以下步骤的程序代码:当事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,异常处理服务将异常事件的信息存储到数据库,并记录失败的微服务。
可选地,上述存储介质还可以被设置为存储用于执行以下步骤的程序代码:按照预定的时间周期,间隔性的将异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将事件标注为重试失败状态。
本发明实施例还提供一种电子装置,包括存储器和处理器,该存储器中存储由计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1、获取微服务流程图,其中,所述微服务流程图表征编排多个微服务而生成的业务逻辑流程;
S2、将所述微服务流程图转化为流程图资源,并将所述流程图资源部署到集群环境中;
S3、调用控制器将部署到集群环境中的所述流程图资源进行转换,得到微服务资源,其中,所述微服务资源基于所述微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:创建微服务流程图,其中,微服务流程图至少包括一个入口网关;基于每个入口网关来调用API接口;通过调用的API接口来接收事件;通过定义事件需要流转的微服务,确定微服务流程图中的业务逻辑流程;校验业务逻辑流程,如果校验通过,保存微服务流程图。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:将事件发送到对应的流程图资源;流程图资源获取对应服务的容器,并采用容器来处理事件。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:微服务之间采用异步调用。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:当事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,异常处理服务将异常事件的信息存储到数据库,并记录失败的微服务。
可选地,上述处理器还可以被设置为通过计算机程序执行以下步骤:按照预定的时间周期,间隔性的将异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将事件标注为重试失败状态。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
本申请实施例所提供的方法实施例可以在计算机终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图6是本发明实施例的一种数据请求的处理方法的计算机终端的硬件结构框图。如图6所示,计算机终端可以包括一个或多个(图6中仅示出一个)处理器602(处理器602可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器604,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备606以及输入输出设备608。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图6中所示更多或者更少的组件,或者具有与图6所示等同功能或比图6所示功能更多的不同的配置。
存储器604可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据请求的处理方法对应的计算机程序,处理器602通过运行存储在存储器604内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器604可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器604可进一步包括相对于处理器602远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置606包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置606可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种微服务的处理方法,其特征在于,包括:
获取微服务流程图,其中,所述微服务流程图表征编排多个微服务而生成的业务逻辑流程;
将所述微服务流程图转化为流程图资源,并将所述流程图资源部署到集群环境中;
调用控制器将部署到集群环境中的所述流程图资源进行转换,得到微服务资源,其中,所述微服务资源基于所述微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
2.根据权利要求1所述的方法,其特征在于,在获取微服务流程图之前,所述方法还包括:
创建所述微服务流程图,其中,所述微服务流程图至少包括一个入口网关;
基于每个入口网关来调用API接口;
通过调用的所述API接口来接收事件;
通过定义所述事件需要流转的微服务,确定所述微服务流程图中的所述业务逻辑流程;
校验所述业务逻辑流程,如果校验通过,保存所述微服务流程图。
3.根据权利要求2所述的方法,其特征在于,在确定所述微服务流程图中的所述业务逻辑流程之后,所述方法还包括:
将所述事件发送到对应的所述流程图资源;
所述流程图资源获取对应服务的容器,并采用所述容器来处理所述事件。
4.根据权利要求3所述的方法,其特征在于,所述微服务之间采用异步调用。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述事件在流转的过程中发生异常,将异常事件发送到异常处理服务,其中,所述异常处理服务将所述异常事件的信息存储到数据库,并记录失败的微服务。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:按照预定的时间周期,间隔性的将所述异常事件发送到失败的微服务进行重试,如果在预定的重试次数下仍然失败,则将所述事件标注为重试失败状态。
7.一种微服务的处理装置,其特征在于,包括:
获取模块,用于获取微服务流程图,其中,所述微服务流程图表征编排多个微服务而生成的业务逻辑流程;
部署模块,用于将所述微服务流程图转化为流程图资源,并将所述流程图资源部署到集群环境中;
控制模块,用于调用控制器将部署到集群环境中的所述流程图资源进行转换,得到微服务资源,其中,所述微服务资源基于所述微服务流程图中定义的微服务调用关系进行资源串联和/或资源并联。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
创建模块,用于创建所述微服务流程图,其中,所述微服务流程图至少包括一个入口网关;
调用模块,用于基于每个入口网关来调用API接口;
接收模块,用于通过调用的所述API接口来接收事件;
确定模块,用于通过定义所述事件需要流转的微服务,确定所述微服务流程图中的所述业务逻辑流程;
校验模块,用于校验所述业务逻辑流程,如果校验通过,保存所述微服务流程图。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的微服务的处理方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的微服务的处理方法。
CN202110742453.1A 2021-06-30 2021-06-30 微服务处理方法和装置 Pending CN115543491A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110742453.1A CN115543491A (zh) 2021-06-30 2021-06-30 微服务处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110742453.1A CN115543491A (zh) 2021-06-30 2021-06-30 微服务处理方法和装置

Publications (1)

Publication Number Publication Date
CN115543491A true CN115543491A (zh) 2022-12-30

Family

ID=84722893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110742453.1A Pending CN115543491A (zh) 2021-06-30 2021-06-30 微服务处理方法和装置

Country Status (1)

Country Link
CN (1) CN115543491A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932225A (zh) * 2023-09-13 2023-10-24 北京中科智媒融媒体技术有限公司 微服务资源调度方法、装置、电子设备和计算机可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932225A (zh) * 2023-09-13 2023-10-24 北京中科智媒融媒体技术有限公司 微服务资源调度方法、装置、电子设备和计算机可读介质
CN116932225B (zh) * 2023-09-13 2023-12-08 北京中科智媒融媒体技术有限公司 微服务资源调度方法、装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
CN110389900B (zh) 一种分布式数据库集群测试方法、装置及存储介质
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
CN106844198B (zh) 一种分布式调度自动化测试平台及方法
CN112035228B (zh) 一种资源调度方法及装置
CN107241315B (zh) 银行网关接口的接入方法、装置及计算机可读存储介质
CN111245900B (zh) 一种分布式消息发送的处理系统及其处理方法
CN110196731A (zh) 一种运维系统、方法及存储介质
CN112395196B (zh) 数据作业开发测试方法、装置、设备、系统及存储介质
CN111026602A (zh) 一种云平台的健康巡检调度管理方法、装置及电子设备
CN113778486A (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN114756328A (zh) 容器云平台巡检方法及装置
CN109902028A (zh) Acl特性的自动化测试方法、装置、设备及存储介质
JP5989194B1 (ja) テスト管理システムおよびプログラム
CN115543491A (zh) 微服务处理方法和装置
CN112650815B (zh) 环境数据的同步方法及装置、存储介质及电子装置
CN113626344B (zh) 一种软件自动化测试的调度方法及系统
CN113934552A (zh) 功能代码的确定方法及装置、存储介质、电子装置
CN115357258A (zh) 应用的部署方法、装置、存储介质及电子装置
CN114564213A (zh) 预装软件部署方法、系统、终端及存储介质
CN112564979A (zh) 构建任务的执行方法、装置、计算机设备和存储介质
CN113592575B (zh) 订单的确定方法及装置、存储介质、电子装置
CN109995617A (zh) 主机管理特性的自动化测试方法、装置、设备及存储介质
CN113225576B (zh) 基于直播平台边缘计算场景的服务迁移系统和方法
CN116931965B (zh) 集成流处理方法、装置、电子设备及存储介质
CN113407445B (zh) 端到端自动化测试方法、装置及电子设备

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