CN115495140A - 一种基于k8s的服务创建方法及系统 - Google Patents
一种基于k8s的服务创建方法及系统 Download PDFInfo
- Publication number
- CN115495140A CN115495140A CN202211121886.6A CN202211121886A CN115495140A CN 115495140 A CN115495140 A CN 115495140A CN 202211121886 A CN202211121886 A CN 202211121886A CN 115495140 A CN115495140 A CN 115495140A
- Authority
- CN
- China
- Prior art keywords
- interface
- component
- service
- version
- versions
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种基于k8s的服务创建方法及系统。所述方法包括:服务中台可以构建待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户从组件库中选取的,然后根据用户的部署指令,基于接口版本及预设部署参数生成接口调度资源组,控制k8s拉起流程控制引擎,最后启动流程调度引擎,拉起组件实例,并生成可供调用的服务。整个过程可以将开发人员和业务人员进行物理隔离,业务人员可以根据业务非编程式的组建自己所需的业务,调整组件版本较为方便,服务创建较为灵活,而且由于组件并非在线开发得到的,而是存在预先建立的组件库中,因此冗余组件版本较少,组件版本的体系清晰合理,易于维护。
Description
技术领域
本申请涉及服务容器化技术领域,特别涉及一种基于k8s的服务创建方法及系统。
背景技术
在当今软件开发领域,容器化技术已被多数开发者了解并应用在自身的开发工作之中,作为容器化编排技术的k8s(Kubernetes)也被越来越多的人所熟知。在业务人员根据业务需求创建对应的服务时(比如:需要建立情感分类服务,以便于将评论区的各项评论分类为积极评论和消极评论两类),通常可以在服务中台上进行操作,其中,服务中台设置在云服务器上。
业务人员在创建服务时,主要将k8s作为一种部署工具,利用k8s对组成业务的各个组件进行部署。其中,各个组件可以是内嵌在云服务器上的。目前,创建服务主要有两种方式:一种是业务人员直接利用内嵌在云服务器上的组件拉起对应的服务。采用这种方式,每当业务人员需要重新拉起一个服务时,均需要调整许多参数和配置才能实现,而且,如需更新组件,则需要对整个平台进行迭代升级,因此服务创建的灵活性较差。另一种是开发人员可以利用辅助开发算法平台实现在线开发新的组件,然后根据所需的组件拉起对应的服务。采用这种方式,由于组件是在线开发,因此平台上会存在较多开发过程中产生的冗余组件版本,进而使得组件不易维护,整个服务创建方法的使用门槛较高。
由此可以看出,如何提供一种兼具灵活性和易维护性的服务创建方法,已经成为一项亟待解决的问题。
发明内容
本申请提供了一种基于k8s的服务创建方法及系统,可用于解决现有服务创建方法无法兼具灵活性和易维护性的技术问题。
第一方面,本申请实施例提供一种基于k8s的服务创建方法,应用于服务中台,所述服务中台设置在云服务器上,所述方法包括:
新建至少一个接口版本;所述接口版本用于反映完成待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户根据所述待建业务从预设的组件库中选取的;
根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组;所述接口版本的预设部署参数包括所述接口版本的部署数量以及对应的部署设置参数;
控制k8s根据各个接口调度资源组,以及预设的服务分发策略,拉起流程调度引擎;所述服务分发策略用于反映各个接口调度资源组之间的调度方式;
在启动所述流程调度引擎后,根据各个接口版本以及各自对应的预设部署参数,从所述组件库中获取各个组件版本所对应的组件镜像,拉起各个组件实例,并生成可供调用的服务。
结合第一方面,在第一方面的一种可实现方式中,所述新建至少一个接口版本,包括:
创建待建业务所对应的接口;其中,创建待建业务所对应的接口的方式包括新建接口或者选取已有接口中的一种;
在所述接口下,新建至少一个接口版本。
结合第一方面,在第一方面的一种可实现方式中,所述在所述接口下,新建至少一个接口版本,包括:
在所述接口下,构建完成所述待建业务的服务所需的各个组件之间的数据流转关系;
确定每个组件的组件版本;
将各个组件版本之间的数据流转关系,确定为接口版本。
结合第一方面,在第一方面的一种可实现方式中,所述根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组,包括:
根据用户的部署指令,解析所述接口版本,得到完成所述待建业务的服务所需的各个组件版本的信息,以及每个组件版本的输入参数信息和输出参数信息;
根据完成所述待建业务的服务所需的各个组件版本的信息、每个组件版本的输入参数信息和输出参数信息,以及预设部署参数,生成所述接口版本对应的组件调用策略;
根据所述接口版本对应的组件调用策略,以及各个组件版本,生成所述接口版本对应的接口调度资源组。
结合第一方面,在第一方面的一种可实现方式中,各个组件版本是以镜像格式集成在所述组件库中的。
结合第一方面,在第一方面的一种可实现方式中,所述方法还包括:
在调用所述服务后,所述流程调度引擎接收待处理请求;
响应于所述待处理请求,所述流程调度引擎根据预设的服务分发策略,为所述待处理请求分配相应的接口调度资源组;
所述流程调度引擎按照所分配的接口调度资源组中的组件调用策略,调用各组件实例。
第二方面,本申请实施例提供一种基于k8s的服务创建系统,应用于服务中台,所述服务中台设置在云服务器上,所述系统包括:
接口版本创建模块,用于新建至少一个接口版本;所述接口版本用于反映完成待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户根据所述待建业务从预设的组件库中选取的;
接口调度资源组生成模块,用于根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组;所述接口版本的预设部署参数包括所述接口版本的部署数量以及对应的部署设置参数;
流程调度引擎拉起模块,用于控制k8s根据各个接口调度资源组,以及预设的服务分发策略,拉起流程调度引擎;所述服务分发策略用于反映各个接口调度资源组之间的调度方式;
服务生成模块,用于在启动所述流程调度引擎后,根据各个接口版本以及各自对应的预设部署参数,从所述组件库中获取各个组件版本所对应的组件镜像,拉起各个组件实例,并生成可供调用的服务。
结合第二方面,在第二方面的一种可实现方式中,所述接口版本创建模块包括:
接口创建子模块,用于创建待建业务所对应的接口;其中,创建待建业务所对应的接口的方式包括新建接口或者选取已有接口中的一种;
接口版本新建子模块,用于在所述接口下,新建至少一个接口版本。
结合第二方面,在第二方面的一种可实现方式中,所述接口版本新建子模块具体用于:
在所述接口下,构建完成所述待建业务的服务所需的各个组件之间的数据流转关系;
确定每个组件的组件版本;
将各个组件版本之间的数据流转关系,确定为接口版本。
结合第二方面,在第二方面的一种可实现方式中,所述接口调度资源组生成模块包括:
解析子模块,用于根据用户的部署指令,解析所述接口版本,得到完成所述待建业务的服务所需的各个组件版本的信息,以及每个组件版本的输入参数信息和输出参数信息;
策略生成子模块,用于根据完成所述待建业务的服务所需的各个组件版本的信息、每个组件版本的输入参数信息和输出参数信息,以及预设部署参数,生成所述接口版本对应的组件调用策略;
接口调度资源组生成子模块,用于根据所述接口版本对应的组件调用策略,以及各个组件版本,生成所述接口版本对应的接口调度资源组。
结合第二方面,在第二方面的一种可实现方式中,各个组件版本是以镜像格式集成在所述组件库中的。
结合第二方面,在第二方面的一种可实现方式中,所述系统还包括:
待处理请求接收模块,用于在调用所述服务后,控制所述流程调度引擎接收待处理请求;
接口调度资源组分配模块,用于响应于所述待处理请求,控制所述流程调度引擎根据预设的服务分发策略,为所述待处理请求分配相应的接口调度资源组;
组件实例调用模块,用于控制所述流程调度引擎按照所分配的接口调度资源组中的组件调用策略,调用各组件实例。
本申请实施例提供一种基于k8s的服务创建方法及系统,在服务创建方法中,服务中台可以首先构建待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户根据待建业务从组件库中选取的,然后,根据用户的部署指令,基于接口版本及预设部署参数生成接口调度资源组,接着,控制k8s拉起流程控制引擎,最后,启动流程调度引擎,并拉起组件实例,并生成可供调用的服务。整个过程可以将开发人员和业务人员进行物理隔离,业务人员可以根据业务非编程式的组建自己所需的业务,调整组件版本较为方便,服务创建较为灵活,而且,由于组件并非在线开发得到的,而是存在预先建立的组件库中,因此冗余组件版本较少,组件版本的体系清晰合理,易于维护。
附图说明
图1为本申请实施例提供的一种基于k8s的服务创建方法的工作流程示意图;
图2为本申请实施例提供的组件库的结构示意图;
图3为本申请实施例提供的服务生成过程的一个示例示意图;
图4为本申请实施例提供的可供调用的服务的整体结构示意图;
图5为本申请实施例创建的服务被调用时的调用过程示意图;
图6为本申请实施例提供的一种基于k8s的服务创建系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了解决现有服务创建方法无法兼具灵活性和易维护性的技术问题,本申请通过以下实施例公开了一种基于k8s的服务创建方法。本申请实施例提供的服务创建方法应用于服务中台,服务中台设置在云服务器上。其中,云服务器是多个安装有k8s的服务器所构成的k8s集群。k8s(Kubernetes)是一个容器集群的管理工具,可以用于容器管理。参见图1所示的工作流程示意图,本申请实施例提供的一种基于k8s的服务创建方法具体包括以下步骤:
101:新建至少一个接口版本。
其中,接口版本用于反映完成待建业务的服务所需的各个组件版本之间的数据流转关系。接口版本具体是指接口下的由多个组件版本组成的有数据流转定义的一个流程组,是接口的一个具体实现。接口用于表示具体服务功能,是服务级别的一个抽象概念。各个组件版本是用户根据待建业务从预设的组件库中选取的。组件版本是组件的一种具体实现,组件是业务的基础组成部分,是成员级别的一个抽象的概念。
在一些实施例中,可以是响应于用户的操作,新建至少一个接口版本。
图2为本申请实施例提供的组件库的结构示意图。如图2所示,组件库是作为独立资源库存在的,其中包括开发人员开发好以后打包上传的多个独立的功能组件。每个组件包括多个组件版本。同一组件的各个组件版本执行的都是该组件的功能,只是具体的实现方式不同。示例性地,如图2所示,组件库可以包括组件A、组件B以及其他组件。其中,组件A包括组件版本1至组件版本n,共n个版本;组件B包括组件版本1至组件版本m,共m个版本。每个组件的各个组件版本可以以镜像格式集成在组件库中。其中,镜像格式是一种可加载成容器的静态格式。此外,每个组件版本还可以附带说明信息,以方便查找。
如此,采用组件库,可以将开发人员和业务人员工作做物理上的隔离,开发人员专注于进行算法组件版本的开发和组件的管理,更新组件时可以只需要上传开发好的组件版本到组件库之中。业务人员在根据业务构建相应的接口版本时,也不会接触到任何技术及开发元素。整个流程中,开发人员负责算法逻辑转化组件版本的部分,业务人员负责使用组件版本来实现业务需求的部分,两者分工明确互不干扰,所以保证了可以低门槛使用的同时又能灵活更新。此外,开发人员可以在完成组件版本的开发之后再打包上传,不仅可以保证整个组件版本体系的结构清晰、架构合理,而且由于并没有在服务中台上直接进行开发,因此可以很大程度地减少服务中台上的冗余组件版本,从而保证组件版本体系的清晰合理,易于维护。
在一些实施例中,服务中台可以通过以下步骤新建至少一个接口版本:
步骤一,创建待建业务所对应的接口。
其中,创建待建业务所对应的接口的方式包括新建接口或者选取已有接口中的一种。用户可以包括业务人员。
具体地,可以是响应于用户的操作,创建待建业务所对应的接口。
本申请实施例中,响应于用户的操作创建待建业务所对应的接口,可以包括响应于用户对操作页面的接口新建选项执行的点击操作,新建待建业务所对应的接口;或者,响应于用户对操作页面的任一已有接口选项执行的点击操作,将用户选中的已有接口设置为待建业务所对应的接口。操作页面是指服务中台上可供用户进行操作的页面。
步骤二,在接口下,新建至少一个接口版本。
具体地,可以通过以下方式在接口下新建至少一个接口版本:
首先,在接口下,构建完成待建业务的服务所需的各个组件之间的数据流转关系。然后,确定每个组件的组件版本。最后,将各个组件版本之间的数据流转关系,确定为接口版本。
具体地,可以是响应于用户的操作,在接口下构建完成待建业务的服务所需的各个组件之间的数据流转关系。其中,用户的操作可以包括用户对完成待建业务的服务所需的各个组件所执行的长按并且拖拽的操作,以及用户对每个组件的任一组件版本所执行的点击选择操作。服务中台响应于用户对完成待建业务的服务所需的各个组件所执行的长按并且拖拽的操作,构建各个组件之间的数据流转关系。服务中台还响应于用户对每个组件的任一组件版本所执行的点击选择操作,将用户选择的组件版本确定为该组件的组件版本。
需要说明的是,不同组件版本之间的组合可以新建多个接口版本。其中,多个接口版本之间的数据流转关系相同,只是组件版本不同。如此,新建多个接口版本时,可以兼顾组件版本的测试功能和正常使用功能,从而可以更好地满足实际需求。
示例性地,待建业务的服务为情感分类服务,用户选出的各个组件为数据预处理组件和数据情感分类组件,其中,数据预处理组件的组件版本包括繁简转化、模式替换、全半角转换等。数据情感分类组件的组件版本包括正负面评价分类、星级评价分类等。各个组件之间的数据流转关系为先进行预处理,再进行情感分类。新建的接口版本V1可以为先进行繁简转化,再进行正负面评价分类。新建的接口版本V2可以为先进行繁简转换,再进行星级评价分类。新建的接口版本V3可以为先进行模式替换,再进行星级评价分类等。具体可以根据实际待建业务的需求进行接口版本的新建,本申请实施例对此不作具体限定。
另外,在执行步骤101新建接口版本之后,用户可以保存所有接口版本并发起部署指令。
如此,每个服务的实现流程都遵循高聚合低耦合的原则,因为每个服务实现都不是完全的黑箱操作,接口版本中具有清晰的逻辑流程定义,所以遇到问题容易定位,出现问题也容易追溯,并且可以实现服务逻辑的组件化更新,即出现问题或新的需求后,也可以快速的更替接口版本中的某一个组件而不需重启整个服务。
102:根据用户的部署指令,基于接口版本,以及接口版本的预设部署参数,生成接口版本对应的接口调度资源组。
其中,接口版本的预设部署参数包括接口版本的部署数量以及对应的部署设置参数。部署设置参数可以包括为每个接口版本分配的计算资源、部署所需的系统参数等。接口调度资源组相当于一个接口版本的具体实现,每当在一个服务下新建了一个部署,那这个部署必定关联一个接口版本,接口版本定义了数据流转关系和组件版本的选择,再加上具体的部署参数,就构成一个接口调度资源组,接口调度资源组与集群中的一批组件实例节点相对应。
这样,当同一接口版本部署多套时,可以在服务中实现数据的分流作用。
在一些实施例中,服务中台可以通过以下步骤生成接口版本对应的接口调度资源组:
步骤一,根据用户的部署指令,解析接口版本,得到完成待建业务的服务所需的各个组件版本的信息,以及每个组件版本的输入参数信息和输出参数信息。
其中,各个组件版本的信息可以包括组件版本的镜像信息以及说明信息。
示例性地,情感分类服务的接口下的接口版本V1可以包括先进行繁简转化,再进行正负面评价分类。对接口版本V1进行解析后,得到的两个组件版本分别为繁简转化组件版本和正负面评价分类组件版本。繁简转化组件版本的输入参数信息包括待分类的评论数据,输出参数信息包括进行繁简转化之后的评论数据。正负面评价分类组件版本的输入参数信息包括进行繁简转化之后的评论数据,输出参数信息包括评论数据情感分类结果。
步骤二,根据完成待建业务的服务所需的各个组件版本的信息、每个组件版本的输入参数信息和输出参数信息,以及预设部署参数,生成接口版本对应的组件调用策略。
具体地,组件调用策略用于反映各个组件版本的调用顺序。组件调用策略可以包括串行调用或者并行调用中的至少一种。
步骤三,根据接口版本对应的组件调用策略,以及各个组件版本,生成接口版本对应的接口调度资源组。
其中,一个接口调度资源组与一个接口版本相对应。
103:控制k8s根据各个接口调度资源组,以及预设的服务分发策略,拉起流程调度引擎。
其中,服务分发策略可以用于反映各个接口调度资源组之间的调度方式。流程调度引擎是待建业务的服务的具体实现,是待建业务的服务下所有组件实例节点的调度者。具体地,可以响应于用户拉起流程调度引擎的指令,控制k8s拉起流程调度引擎。
示例性地,如果部署两套相同的接口调度资源组,分别为A和B,则服务分发策略可以设置为按照时间顺序,第一个请求调用接口调度资源组A,第二个请求调用接口调度资源组B,第三个请求调用接口调度资源组A等,如此循环交替。或者,服务分发策略也可以设置为随机调用任一接口调度资源组。或者,服务分发策略也可以设置为当请求满足预设条件时,调用接口调度资源组A,当请求不满足预设条件时,调用接口调度资源组B。又示例性地,如果部署两套不相同的接口调度资源组,分别为C和D,则服务分发策略可以设置为对于内部测试人员的请求,调用接口调度资源组C;对于外部用户的请求,调用接口调度资源组D等。
如此,k8s拉起流程调度引擎后,该流程调度引擎就是待建业务的服务的总入口,与云服务器完全分离,从而使得业务人员的操作终端与开发人员的算法服务完全解耦,可以达成流程和资源的完全独立性。
104:在启动流程调度引擎后,根据各个接口版本以及各自对应的预设部署参数,从组件库中获取各个组件版本所对应的组件镜像,拉起各个组件实例,并生成可供调用的服务。
其中,组件实例是组件版本的容器化,具体是根据组件版本定义的数据所拉起的集群中的服务。
具体地,服务中台可以响应于用户的指令,启动流程调度引擎。
如此,可以将业务人员定义的静态流程启动为可供调用的服务,最终完成服务创建,服务创建较为灵活,且简单易行,具有较强的实用性。
图3为本申请实施例提供的服务生成过程的一个示例示意图。如图3所示,在一个示例中,业务人员可以在服务中台的操作页面上,根据待建业务,以画布连线的方式构建服务所需的各个组件之间的数据流转关系。具体地,数据流转关系可以依次为数据清洗、数据分类和后处理。在接口版本创建好以后,业务人员所操作的控制终端可以在接收该接口版本以及业务人员设置的部署参数后,拉起服务专用流程调度引擎,然后启动流程调度引擎解析流程,并开始从组件库中拉起组件实例,最终生成可供调用的独立服务。其中,组件库可以包括组件A、组件B以及其他组件。其中,组件A包括组件版本1至组件版本n,共n个版本;组件B包括组件版本1至组件版本m,共m个版本。这样,开发人员与业务人员之间的唯一交互即为组件库,开发人员负责提供组件库中的组件版本,业务人员负责使用组件库中的组件版本,从而业务人员可以便捷地根据业务来组建服务,可以根据业务非编程式的组建自己所需的业务,服务创建十分灵活。
图4为本申请实施例提供的可供调用的服务的整体结构示意图。如图4所示,一套被拉起的服务的整体结构包括流程调度引擎,流程调度引擎是该服务下所有组件实例的调度者。流程调度引擎包括服务分发策略和至少一个接口调度资源组,服务分发策略用于调度各个接口调度资源组,每个接口调度资源组均包括组件调用策略以及各个组件实例,组件调用策略用于调度各个组件实例。这样,当待建业务中所有组件都需要重新开发时,由于每个服务都是独立于云服务器以外,因此不需要做任何的终端重启或变更操作,只需要让开发人员根据最细粒度的业务拆分需求开发新的组件版本并填充进组件库,此时业务人员便可以在操作终端上看到并使用新的组件版本,可以通过新建接口版本并发起部署的方式来直接新建一套新的服务,从而可以实现不停机维护和热更新、热部署的需求。
如此,本申请实施例提供的服务创建方法,可以将开发人员和业务人员进行物理隔离,业务人员可以根据业务非编程式的组建自己所需的业务,调整组件版本较为方便,服务创建较为灵活,而且,由于组件并非在线开发得到的,而是存在预先建立的组件库中,因此冗余组件版本较少,组件版本的体系清晰合理,易于维护。
另外,在执行步骤104生成可供调用的服务之后,还可以调用该服务以对该服务进行测试或者使用。具体地,本申请实施例提供的服务创建方法还可以包括以下步骤:
第一步,在调用服务后,流程调度引擎接收待处理请求。
其中,待处理请求中可以包括请求信息以及提出请求的对象。示例性地,请求信息为更新某软件的版本,提出请求的对象为IP(Internet Protocol,网际互联协议)为xxx的手机。
第二步,响应于待处理请求,流程调度引擎根据预设的服务分发策略,为待处理请求分配相应的接口调度资源组。
示例性地,请求信息为更新某软件的版本。如果提出请求的对象为IP为A的手机,则可以分发到正式版本的接口调度资源组;如果提出请求的对象为IP为B的手机,则可以分发到测试版本的接口调度资源组。
第三步,流程调度引擎按照所分配的接口调度资源组中的组件调用策略,调用各组件实例。
图5为本申请实施例创建的服务被调用时的调用过程示意图。如图5所示,在一个示例中,代理(Proxy)在接收到请求后,可以按照流程调度引擎注册的路由将请求分发到对应的流程调度引擎中。每个流程调度引擎中均包括N个接口版本,其中,前N-1个接口版本可以为正式策略,第N个接口版本可以为灰度策略。每个接口版本中均包括组件间调度策略,每个组件间调度策略包括组件1至组件N中各个组件的调度策略和调试策略。其中,组件间调度策略可以包括并行策略和串行策略。其中,step1、step2和step3表示各个组件实例集群的调度顺序为串行,两个组件实例集群的调度均为step1表示这两个组件实例集群的调度顺序为并行。组件间调度策略和对应的组件实例集群构成对应的接口调度资源组。
如此,本申请实施例提供的方法,可以将操作终端与算法服务完全解耦,使得流程和资源各自保持独立;还可以将开发端和业务端完全解耦,使得业务人员可根据业务非编程式的组建所需的业务;还可以实现服务的热更新,即不需要重启操作终端本体即可集成新开发的算法服务。此外,本申请实施例提供的方法还可以帮助业务人员构建大而全、博且精的场景化算法服务集群,使得业务人员既可以监控到每一个算法服务的基本细节,又可以方便快捷地创建出实际可用的具体服务,从而帮助业务人员从繁琐的编程调试等过程中解脱出来,更好地挖掘数据的价值,更好地发现新的业务方向,更好地达成数据和业务良性互促、协同发展的目标。
下述为本申请系统实施例,可以用于执行本申请方法实施例。对于本申请系统实施例中未披露的细节,请参照本申请方法实施例。
图6示例性示出了本申请实施例提供的一种基于k8s的服务创建系统的结构示意图。如图6所示,本申请实施例提供的系统具有实现上述服务创建方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。本申请实施例提供的系统应用于服务中台,服务中台设置在云服务器上。该系统可以包括:接口版本创建模块601、接口调度资源组生成模块602、流程调度引擎拉起模块603和服务生成模块604。其中:
接口版本创建模块601,用于新建至少一个接口版本;所述接口版本用于反映完成所述待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户根据所述待建业务从预设的组件库中选取的;
接口调度资源组生成模块602,用于根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组;所述接口版本的预设部署参数包括所述接口版本的部署数量以及对应的部署设置参数;
流程调度引擎拉起模块603,用于控制k8s根据各个接口调度资源组,以及预设的服务分发策略,拉起流程调度引擎;所述服务分发策略用于反映各个接口调度资源组之间的调度方式;
服务生成模块604,用于在启动所述流程调度引擎后,根据各个接口版本以及各自对应的预设部署参数,从所述组件库中获取各个组件版本所对应的组件镜像,拉起各个组件实例,并生成可供调用的服务。
在一种可实现方式中,所述接口版本创建模块601包括:
接口创建子模块,用于创建待建业务所对应的接口;其中,创建待建业务所对应的接口的方式包括新建接口或者选取已有接口中的一种;
接口版本新建子模块,用于在所述接口下,新建至少一个接口版本。
在一种可实现方式中,所述接口版本新建子模块具体用于:
在所述接口下,构建完成所述待建业务的服务所需的各个组件之间的数据流转关系;
确定每个组件的组件版本;
将各个组件版本之间的数据流转关系,确定为接口版本。
在一种可实现方式中,所述接口调度资源组生成模块602包括:
解析子模块,用于根据用户的部署指令,解析所述接口版本,得到完成所述待建业务的服务所需的各个组件版本的信息,以及每个组件版本的输入参数信息和输出参数信息;
策略生成子模块,用于根据完成所述待建业务的服务所需的各个组件版本的信息、每个组件版本的输入参数信息和输出参数信息,以及预设部署参数,生成所述接口版本对应的组件调用策略;
接口调度资源组生成子模块,用于根据所述接口版本对应的组件调用策略,以及各个组件版本,生成所述接口版本对应的接口调度资源组。
在一种可实现方式中,各个组件版本是以镜像格式集成在所述组件库中的。
在一种可实现方式中,所述系统还包括:
待处理请求接收模块,用于在调用所述服务后,控制所述流程调度引擎接收待处理请求;
接口调度资源组分配模块,用于响应于所述待处理请求,控制所述流程调度引擎根据预设的服务分发策略,为所述待处理请求分配相应的接口调度资源组;
组件实例调用模块,用于控制所述流程调度引擎按照所分配的接口调度资源组中的组件调用策略,调用各组件实例。
如此,本申请实施例提供的服务创建系统,可以将开发人员和业务人员进行物理隔离,业务人员可以根据业务非编程式的组建自己所需的业务,调整组件版本较为方便,服务创建较为灵活,而且,由于组件并非在线开发得到的,而是存在预先建立的组件库中,因此冗余组件版本较少,组件版本的体系清晰合理,易于维护。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
Claims (10)
1.一种基于k8s的服务创建方法,其特征在于,应用于服务中台,所述服务中台设置在云服务器上,所述方法包括:
新建至少一个接口版本;所述接口版本用于反映完成待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户根据所述待建业务从预设的组件库中选取的;
根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组;所述接口版本的预设部署参数包括所述接口版本的部署数量以及对应的部署设置参数;
控制k8s根据各个接口调度资源组,以及预设的服务分发策略,拉起流程调度引擎;所述服务分发策略用于反映各个接口调度资源组之间的调度方式;
在启动所述流程调度引擎后,根据各个接口版本以及各自对应的预设部署参数,从所述组件库中获取各个组件版本所对应的组件镜像,拉起各个组件实例,并生成可供调用的服务。
2.根据权利要求1所述的方法,其特征在于,所述新建至少一个接口版本,包括:
创建待建业务所对应的接口;其中,创建待建业务所对应的接口的方式包括新建接口或者选取已有接口中的一种;
在所述接口下,新建至少一个接口版本。
3.根据权利要求2所述的方法,其特征在于,所述在所述接口下,新建至少一个接口版本,包括:
在所述接口下,构建完成所述待建业务的服务所需的各个组件之间的数据流转关系;
确定每个组件的组件版本;
将各个组件版本之间的数据流转关系,确定为接口版本。
4.根据权利要求1所述的方法,其特征在于,所述根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组,包括:
根据用户的部署指令,解析所述接口版本,得到完成所述待建业务的服务所需的各个组件版本的信息,以及每个组件版本的输入参数信息和输出参数信息;
根据完成所述待建业务的服务所需的各个组件版本的信息、每个组件版本的输入参数信息和输出参数信息,以及预设部署参数,生成所述接口版本对应的组件调用策略;
根据所述接口版本对应的组件调用策略,以及各个组件版本,生成所述接口版本对应的接口调度资源组。
5.根据权利要求1所述的方法,其特征在于,各个组件版本是以镜像格式集成在所述组件库中的。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在调用所述服务后,所述流程调度引擎接收待处理请求;
响应于所述待处理请求,所述流程调度引擎根据预设的服务分发策略,为所述待处理请求分配相应的接口调度资源组;
所述流程调度引擎按照所分配的接口调度资源组中的组件调用策略,调用各组件实例。
7.一种基于k8s的服务创建系统,其特征在于,应用于服务中台,所述服务中台设置在云服务器上,所述系统包括:
接口版本创建模块,用于新建至少一个接口版本;所述接口版本用于反映完成待建业务的服务所需的各个组件版本之间的数据流转关系,其中,各个组件版本是用户根据所述待建业务从预设的组件库中选取的;
接口调度资源组生成模块,用于根据用户的部署指令,基于所述接口版本,以及所述接口版本的预设部署参数,生成所述接口版本对应的接口调度资源组;所述接口版本的预设部署参数包括所述接口版本的部署数量以及对应的部署设置参数;
流程调度引擎拉起模块,用于控制k8s根据各个接口调度资源组,以及预设的服务分发策略,拉起流程调度引擎;所述服务分发策略用于反映各个接口调度资源组之间的调度方式;
服务生成模块,用于在启动所述流程调度引擎后,根据各个接口版本以及各自对应的预设部署参数,从所述组件库中获取各个组件版本所对应的组件镜像,拉起各个组件实例,并生成可供调用的服务。
8.根据权利要求7所述的系统,其特征在于,所述接口版本创建模块包括:
接口创建子模块,用于创建待建业务所对应的接口;其中,创建待建业务所对应的接口的方式包括新建接口或者选取已有接口中的一种;
接口版本新建子模块,用于在所述接口下,新建至少一个接口版本。
9.根据权利要求8所述的系统,其特征在于,所述接口版本新建子模块具体用于:
在所述接口下,构建完成所述待建业务的服务所需的各个组件之间的数据流转关系;
确定每个组件的组件版本;
将各个组件版本之间的数据流转关系,确定为接口版本。
10.根据权利要求7所述的系统,其特征在于,所述接口调度资源组生成模块包括:
解析子模块,用于根据用户的部署指令,解析所述接口版本,得到完成所述待建业务的服务所需的各个组件版本的信息,以及每个组件版本的输入参数信息和输出参数信息;
策略生成子模块,用于根据完成所述待建业务的服务所需的各个组件版本的信息、每个组件版本的输入参数信息和输出参数信息,以及预设部署参数,生成所述接口版本对应的组件调用策略;
接口调度资源组生成子模块,用于根据所述接口版本对应的组件调用策略,以及各个组件版本,生成所述接口版本对应的接口调度资源组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211121886.6A CN115495140A (zh) | 2022-09-15 | 2022-09-15 | 一种基于k8s的服务创建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211121886.6A CN115495140A (zh) | 2022-09-15 | 2022-09-15 | 一种基于k8s的服务创建方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495140A true CN115495140A (zh) | 2022-12-20 |
Family
ID=84467868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211121886.6A Pending CN115495140A (zh) | 2022-09-15 | 2022-09-15 | 一种基于k8s的服务创建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495140A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566984A (zh) * | 2023-07-06 | 2023-08-08 | 华控清交信息科技(北京)有限公司 | 一种k8s容器集群的路由信息创建方法、装置及电子设备 |
-
2022
- 2022-09-15 CN CN202211121886.6A patent/CN115495140A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566984A (zh) * | 2023-07-06 | 2023-08-08 | 华控清交信息科技(北京)有限公司 | 一种k8s容器集群的路由信息创建方法、装置及电子设备 |
CN116566984B (zh) * | 2023-07-06 | 2023-09-12 | 华控清交信息科技(北京)有限公司 | 一种k8s容器集群的路由信息创建方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3501141B1 (en) | A network service design and deployment process for nfv systems | |
Štefanič et al. | SWITCH workbench: A novel approach for the development and deployment of time-critical microservice-based cloud-native applications | |
CN112668386A (zh) | 使用机器人过程自动化用于文档处理的长时间运行工作流 | |
Ferry et al. | Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems | |
Wang et al. | Total quality of service provisioning in middleware and applications | |
CN110752947A (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN112015521B (zh) | 推理服务的配置方法、装置、电子设备及存储介质 | |
CN108572845B (zh) | 分布式微服务集群的升级方法及相关系统 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN112114950A (zh) | 任务调度方法和装置、以及集群管理系统 | |
EP4016294A1 (en) | Dynamic cloud deployment of robotic process automation (rpa) robots | |
US20100121904A1 (en) | Resource reservations in a multiprocessor computing environment | |
CN102968303A (zh) | 程序设计系统和程序设计方法 | |
CN113867600A (zh) | 处理流式数据的开发方法、装置和计算机设备 | |
CN115495140A (zh) | 一种基于k8s的服务创建方法及系统 | |
CN114461357A (zh) | 一种遥感卫星原始数据实时处理流程调度引擎 | |
US20100122261A1 (en) | Application level placement scheduler in a multiprocessor computing environment | |
CN115237547A (zh) | 一种非侵入式hpc计算集群的统一容器集群托管系统和方法 | |
WO2019223867A1 (en) | Service orchestrator for model-driven workflow generation | |
CN115269140A (zh) | 一种基于容器的云计算工作流调度方法、系统及设备 | |
CN114780232A (zh) | 云应用调度方法、装置、电子设备及存储介质 | |
CN114115821A (zh) | 应用开发方法及平台、应用部署方法及节点、系统及设备 | |
US20100122254A1 (en) | Batch and application scheduler interface layer in a multiprocessor computing environment | |
Popović et al. | Modeling and development of autosar software components | |
Yamini et al. | Efficient metascheduling in a cloud extended grid environment |
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 |