CN115129394A - 微服务启动方法及装置、计算机可读介质和电子设备 - Google Patents
微服务启动方法及装置、计算机可读介质和电子设备 Download PDFInfo
- Publication number
- CN115129394A CN115129394A CN202210809434.0A CN202210809434A CN115129394A CN 115129394 A CN115129394 A CN 115129394A CN 202210809434 A CN202210809434 A CN 202210809434A CN 115129394 A CN115129394 A CN 115129394A
- Authority
- CN
- China
- Prior art keywords
- target
- service
- component
- micro
- configuration information
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种微服务启动方法、微服务启动装置、计算机可读介质和电子设备,涉及微服务技术领域。该方法包括:响应于目标微服务的启动指令,根据所述微服务系统中全局配置数据包括的配置信息配置所述目标微服务对应的功能,以基于所述功能启动所述目标微服务。本公开中,由于全局配置数据中包括了微服务系统提供的多个微服务使用的公共组件的配置信息,且公共组件的配置信息为可配置的,因此可以通过对全局配置数据中的配置信息进行统一管理和更新,实现对微服务系统提供的多个微服务使用的公共组件进行统一管理和更新的目标,简化了组件管理和更新的过程。
Description
技术领域
本公开涉及微服务技术领域,具体涉及一种微服务启动方法、微服务启动装置、计算机可读介质和电子设备。
背景技术
微服务架构是一种细粒度化的软件架构,软件系统根据业务需要被拆分成许多个体量较小的微服务应用,每一个微服务应用单独启动和运行。一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。微服务应用往往比传统的应用程序更有效地利用计算资源。
然而,传统的微服务启动方法,虽然可在系统中按需加载各独立组件,以完成微服务的启动任务,但是在组件数量庞大或是在微服务之间的依赖关系复杂时,组件管理和更新的过程也变得复杂。
发明内容
本公开的目的在于提供一种微服务启动方法、微服务启动装置、计算机可读介质和电子设备,进而至少在一定程度上简化组件管理和更新的过程。
根据本公开的第一方面,提供一种微服务启动方法,应用于微服务系统,包括:响应于目标微服务的启动指令,根据微服务系统中全局配置数据包括的配置信息配置目标微服务对应的功能,以基于功能启动目标微服务;其中,全局配置数据包括微服务系统提供的微服务使用的多个公共组件的配置信息,公共组件的配置信息为可配置的。
根据本公开的第二方面,提供一种微服务启动装置,应用于微服务系统,包括:微服务模块,用于响应于目标微服务的启动指令,根据微服务系统中全局配置数据包括的配置信息配置目标微服务对应的功能,以基于功能启动目标微服务;其中,全局配置数据包括微服务系统提供的微服务使用的多个公共组件的配置信息,公共组件的配置信息为可配置的。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
根据本公开的第四方面,提供一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
本公开的一种实施例所提供的微服务启动方法,响应于目标微服务的启动指令,可以根据微服务系统中全局配置数据包括的配置信息配置目标微服务对应的功能,然后基于该功能启动目标微服务。由于全局配置数据中包括了微服务系统提供的多个微服务使用的公共组件的配置信息,且公共组件的配置信息为可配置的,因此可以通过对全局配置数据中的配置信息进行统一管理和更新,实现对微服务系统提供的多个微服务使用的公共组件进行统一管理和更新的目标,简化了组件管理和更新的过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出示例性实施例中一种微服务系统的架构示意图;
图2示意性示出示例性实施例中另一种微服务系统的架构示意图;
图3示意性示出本公开示例性实施例中一种微服务启动方法的流程图;
图4示意性示出本公开示例性实施例中一种配置信息配置目标微服务对应的功能的方法的流程图;
图5示意性示出本公开示例性实施例中一种微服务系统的架构示意图;
图6示意性示出本公开示例性实施例中另一种微服务启动方法的流程图;
图7示意性示出本公开示例性实施例中又一种微服务系统的架构示意图;
图8示意性示出本公开示例性实施例中微服务启动装置的组成示意图;
图9示出了可以应用本公开实施例的一种电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在微服务系统中,微服务启动时,如果想要使用第三方组件,则需要针对该微服务添加第三方组件依赖和第三方组件配置信息。在第三方组件为公共组件时,微服务的启动方式有两种。
在第一种方式中,各个微服务直接依赖于公共组件,并直接通过公共组件启动微服务。假设微服务1-n与公共组件1-k之间的依赖关系如图1所示。此时,以公共组件1为例,在微服务1-n均需要基于公共组件1的功能启动时,针对每个微服务,需要单独添加公共组件1的依赖,并单独维护其依赖的版本;同时,还需单独添加和维护公共组件1的配置信息。
在第二种方式中,各个微服务使用一个公共组件服务间接依赖公共组件,并通过调用公共组件服务启动微服务。此时,参照图2所示,在微服务1-n需要基于公共组件1-k的功能启动时,只需通过公共组件服务调用各微服务引用的公共服务接口即可。微服务依赖的版本,公共组件的配置信息均由公共组件服务本身去维护。
然而,在上述第一种方式存在以下问题:一,由于各个微服务的依赖关系需要分别添加,微服务的开发效率较低而且在微服务系统中包括的微服较多时,组件依赖关系变得复杂,版本管理和升级的过程也比较困难,同时容易出现组件依赖版本冲突的问题;二,由于每个微服务均涉及组件配置信息,因此微服务系统中的配置信息存在冗余的情况。
上述第二种方式也存在一些问题,具体的:一,该方法仅适用于网络调用的公共组件,针对本地直接调用的非服务类组件,如日志组件、工具组件等,无法适用;二,微服务系统的性能直接与公共组件服务的性能挂钩,很容易由于公共组件服务的性能造成微服务系统性能的瓶颈;三,由于各个微服务直接依赖于公共组件服务,配置信息也由公共组件服务自身去维护,因此各微服务只能知晓调用的公共服务接口,无法知晓具体使用的公共组件的配置信息。
基于上述一个或多个问题,本示例实施方式提供了一种微服务启动方法。参考图3所示,该微服务启动方法可以包括以下步骤S310:
在步骤S310中,响应于目标微服务的启动指令,根据微服务系统中全局配置数据包括的配置信息配置目标微服务对应的功能,以基于功能启动目标微服务。
其中,全局配置数据包括微服务系统提供的微服务使用的多个公共组件的配置信息,公共组件的配置信息为可配置的。例如,微服务系统提供微服务时,需要使用的公共组件为k个,n取大于或等于2的值;此时,全局配置数据中包括h个公共组件对应的配置信息,h取大于或等于2且小于k的值。即全局配置数据中包括至少2个公共组件对应的配置信息。
由于启动目标微服务时需要根据全局配置数据包括的配置信息配置目标微服务对应的功能,且全局配置数据中包括可以配置的多个公共组件的配置信息,因此可以通过对全局配置数据中的配置信息进行统一管理,实现对目标微服务的公共组件的统一配置。不需要针对每个微服务单独添加公共组件的配置信息即可完成公共组件的使用,避免了组件配置冗余的问题。
在一示例性实施例中,在根据微服务系统中全局配置数据包括的配置信息配置目标微服务对应的功能时,参照图4所示,可以包括以下步骤S410至S420:
在步骤S410中,读取目标微服务对应的公共组件声明。
其中,公共组件声明用于声明目标微服务需要使用的目标公共组件。需要说明的是,公共组件声明用于声明目标公共组件,并不包含目标公共组件对应的目标初始化组件和配置参数。具体的,公共组件声明中可以包括用于指示具体公共组件的自定义符号,例如,目标公共组件的名称、表示目标公共组件的标识符号等。其中,目标初始化组件通常包括目标公共组件的客户端,使用方可以通过该客户端直接操作对应公共组件。例如,针对mysql库,目标初始化组件可以包括mysql创建链接,使用方可以通过mysql创建链接直接操作mysql库。
在步骤S420中,根据目标公共组件和全局配置数据中的配置信息配置目标微服务对应的功能。
在一示例性实施例中,响应于目标微服务的启动指令,在使用公共组件之前,需要知道目标微服务需要使用哪些公共组件,因此可以先通过读取目标微服务对应的公共组件声明来确定目标微服务使用的目标公共组件,随后根据声明的目标公共组件和配置信息来配置目标微服务对应的功能。
需要说明的是,由于在一个微服务系统中,可能出现针对同一个公共组件存在不同的配置信息的情况。例如,微服务系统中需要使用数据库,但是提供的数据库服务不同,如A地址,B地址、C地址。此时,可以通过标识等方式区分不同配置信息,和不同配置信息的公共组件,以便于在公共组件声明中可以基于标识声明特定配置的公共组件。
例如,针对公共组件1存在3种配置信息,可以基于标识分别将3种配置信息表示为公共组件1A配置信息、公共组件1B配置信息、公共组件1C配置信息;此时,如果微服务1需要使用第一种配置信息下的公共组件1,在微服务1对应的公共组件声明中包括的目标公共组件则是公共组件1A,声明使用公共组件1和配置信息A。
在一示例性实施例中,在根据目标公共组件和全局配置数据中的配置信息配置目标微服务对应的功能时,可以先根据声明的目标公共组件加载对应的目标初始化组件,同时读取全局配置数据中该目标公共组件对应的目标配置信息,之后基于目标配置信息配置目标初始化组件得到目标实例,目标微服务可以通过使用该目标实例实现目标微服务对应的功能。即各微服务直接依赖公共组件对应的初始化组件,在需要使用某一公共组件时,该公共组件的初始化组件可以使用全局配置数据中包括的与该公共组件对应的配置信息创建对应的实例。
需要说明的是,在上述针对同一个公共组件存在不同的配置信息的情况下,在读取到公共组件声明中的公共组件1A时,可以通过获取公共组件1对应的初始化组件1和全局配置数据中的公共组件1A配置信息创建对应的实例。
以下以公共组件为mysql组件为例,参照图5和图6对本公开实施例的技术方案进行详细阐述:
参照图5所示,针对微服务1-n,各微服务均与mysql组件的初始化组件之间存在依赖关系,且各微服务均存储有该微服务本身的配置和该微服务对应的mysql组件声明。例如,图5所示微服务1的mysql集群A和集群B使用声明:mysqlconfigkey=A,B;同时mysql组件对应的配置信息均存储于全局配置数据。例如,mysql集群A配置信息、mysql集群B配置信息等。
以微服务1为例,在微服务1启动时,配置mysql组件功能的过程可以参照图6所示:
在步骤S601中,启动微服务1;
在步骤S603中,响应于微服务1的启动指令,读取微服务1的公共组件声明,即mysql组件声明,如:mysqlconfigkey=A,B;
在步骤S605中,根据微服务1的公共组件声明加载mysql初始化组件;
在步骤S607中,根据微服务1的公共组件声明在全局配置数据中读取mysql集群A的配置信息和mysql集群B的配置信息;
在步骤S609中,基于mysql集群A的配置信息和mysql集群B的配置信息对mysql初始化组件进行配置,创建微服务1对应的mysql组件实例,以实现对应功能。
具体的,在创建实例时,mysql初始化组件可以按照mysql组件api创建mysqlClient实例,并基于微服务1本身的配置信息和mysql集群A的配置信息和mysql集群B的配置信息创建。例如,针对服务1,mysql初始化组件创建mysql集群A和mysql集群B。
在一示例性实施例中,全局配置数据还可以包括版本依赖声明。其中,版本依赖声明用于声明微服务系统提供的微服务使用的多个公共组件对应的版本。具体的,如果针对每个微服务分别进行公共组件版本依赖设置,则很容易产生公共组件依赖版本冲突的问题,因此可以在全局配置数据中存储版本依赖声明,该版本依赖声明中声明了微服务系统提供的微服务使用的多个公共组件的版本。在微服务系统提供的微服务使用某一公共组件时,可以通过版本依赖声明直接确定针对该公共组件的依赖版本,可以避免公共组件依赖版本冲突的问题。
通过版本依赖声明,可以统一管理微服务系统的公共组件版本依赖,避免版本升级等原因导致的公共组件依赖版本冲突的问题,进而简化版本管理过程,提高版本升级的效率。
在一示例性实施例中,在全局配置数据中包括版本依赖声明时,在加载目标公共组件对应的目标初始化组件时,可以先读取版本依赖声明中该目标公共组件依赖版本的版本标识,然后根据版本标识加载该目标公共组件对应的目标初始化组件,进而得到基于对应版本生成的目标实例。
在一示例性实施例中,响应于目标微服务的启动指令,可以读取目标微服务对应的公共组件声明,并根据公共组件声明调用目标微服务对应的目标服务接口,以通过目标服务接口配置目标微服务对应的功能。
其中,目标服务接口是基于目标公共组件对应的目标初始化组件和全局配置数据中目标公共组件对应的目标配置信息生成的。在这种方式中,各微服务直接依赖于一个提供服务接口的公共组件服务,与公共组件之间没有直接依赖关系;而公共组件服务与各公共组件对应的初始化组件之间存在依赖关系,即各微服务通过公共组件服务间接依赖于各公共组件对应的初始化组件。在需要使用某一公共组件时,该公共组件的初始化组件可以使用全局配置数据中包括的与该公共组件对应的配置信息创建对应的实例,公共组件服务基于该实例生成对应的服务接口提供给各个微服务即可。
需要说明的是,在上述各微服务直接依赖于一个提供服务接口的公共组件服务的方式中,由于生成服务接口时所使用的配置信息仍然为存储于全局配置数据中的配置信息,因此虽然无法通过公共组件服务知晓公共组件的配置信息,但是可以基于全局配置数据清晰的知晓各微服务使用的公共组件的配置信息。
在一示例性实施例中,由于微服务系统中目标微服务对应的功能是基于全局配置数据包括的配置信息配置的,因此可以通过对全局配置数据中的配置信息进行配置的方式,实现统一的配置信息管理和切换;同时,微服务使用方也可以基于全局配置数据中包括的配置信息清晰知晓依赖组件的配置信息。
以下参照图7所示,对本公开实施例的技术方案进行详细阐述:
如图7所示,在微服务系统中,各微服务可以直接依赖于公共组件对应的初始化组件(如微服务1),也可以基于公共组件服务间接依赖于公共组件对应的初始化组件(如微服务2-n),各微服务存储有微服务本身的配置信息和对应的公共组件声明。
公共组件服务存储有公共组件服务本身的配置信息和对应的公共组件声明。需要说明的是,由于公共组件服务需要向微服务2-n(所有基于公共组件服务间接依赖于公共组件对应的初始化组件的微服务)提供公共组件功能,因此公共组件服务对应的公共组件声明中包括的公共组件通常为微服务2-n对应公共组件声明中包括的目标公共组件的并集。
例如,共有4个微服务基于公共组件服务间接依赖于公共组件对应的初始化组件,分别为微服务2-5。其中,微服务2对应的目标公共组件为公共组件1、公共组件2;微服务3对应的目标公共组件为公共组件1、公共组件2、公共组件3;微服务4对应的目标公共组件为公共组件2、公共组件3;微服务5对应的目标公共组件为公共组件1、公共组件4;则公共组件服务对应的公共组件声明中包括的公共组件上述目标公共组件的并集,即公共组件1、公共组件2、公共组件3和公共组件4。
全局配置数据中包括了微服务系统提供的微服务1-n所使用的k个公共组件的配置信息。
此时,微服务启动时可以有以下两种方式:
1、微服务直接依赖于公共组件对应的初始化组件时(以微服务1为例)
响应于微服务1的启动指令,读取微服务1对应的公共组件声明,确定微服务1需要使用的目标公共组件,加载目标公共组件对应的目标初始化组件,基于目标初始化组件读取全局配置数据中包括的目标微服务对应的目标配置信息,并创建目标微服务对应的目标实例,基于该目标实例和微服务1本身的配置信息启动微服务1。
2、微服务基于公共组件服务间接依赖于公共组件对应的初始化组件时(以微服务2为例)
响应于微服务2的启动指令,读取微服务2对应的公共组件声明,确定微服务2需要使用的目标公共组件,公共组件服务直接将目标公共组件对应的目标服务接口提供给微服务2,微服务2基于该目标服务接口,通过公共组件服务调用目标公共组件即可。
综上,本示例性实施方式中,一方面,通过全局配置数据存储微服务系统提供的微服务使用的多个公共组件的配置信息,可以实现以下效果:各个微服务只需要添加目标公共组件的依赖,并通过公共组件声明来声明需要使用的公共组件即可,无需关注公共组件的配置参数,也不需针对每个微服务单独进行配置信息的添加和维护,简化了配置信息的添加和维护过程,降低了出错的概率;可以统一管理公共组件的配置信息,提高升级和切换公共组件配置信息的效率;另一方面,通过全局配置数据存储版本依赖声明,可以统一管理公共组件的版本依赖,各个微服务无需关注版本升级等操作,避免由于版本升级等原因造成的公共组件依赖版本冲突问题;同时,由于可以通过两种依赖方式实现目标微服务的启动,因此可以依据公共组件的种类选择依赖方式,避免针对本地直接调用的非服务类组件无法适用的情况,也避免了公共组件服务成为性能瓶颈的问题;此外,通过为每个公共组件提供统一的初始化功能,使得各个微服务无需根据配置进行初始化操作,添加依赖后即可直接使用公共组件功能。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图8所示,本公开的示例性实施方式中提供一种微服务启动装置800,包括微服务模块810。其中:
微服务模块810可以用于响应于目标微服务的启动指令,根据微服务系统中全局配置数据包括的配置信息配置目标微服务对应的功能,以基于功能启动目标微服务;其中,全局配置数据包括微服务系统提供的微服务使用的多个公共组件的配置信息,公共组件的配置信息为可配置的。
在一示例性实施例中,微服务模块810可以用于读取目标微服务对应的公共组件声明;公共组件声明用于声明目标微服务使用的目标公共组件;根据目标公共组件和全局配置数据中的配置信息配置目标微服务对应的功能。
在一示例性实施例中,微服务模块810可以用于加载目标公共组件对应的目标初始化组件,并读取全局配置数据中目标公共组件对应的目标配置信息;基于目标配置信息配置目标初始化组件得到目标实例。
在一示例性实施例中,微服务模块810可以用于在版本依赖声明中读取目标公共组件依赖的版本标识,并根据版本标识加载目标公共组件对应的目标初始化组件。
在一示例性实施例中,微服务启动装置800还可以包括公共组件服务模块,用于读取目标微服务对应的公共组件声明;公共组件声明用于声明目标微服务使用的目标公共组件;根据公共组件声明调用目标微服务对应的目标服务接口,以通过目标服务接口配置目标微服务对应的功能。
在一示例性实施例中,微服务启动装置800还可以包括全局配置模块,用于配置全局配置数据包括的微服务系统提供的微服务使用的多个公共组件的配置信息。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式中还提供一种用于实现微服务启动方法的电子设备。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行微服务启动方法。
下面以图9中的移动终端900为例,对本公开实施例中的电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图9中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端900的结构限定。在另一些实施方式中,移动终端900也可以采用与图9不同的接口连接方式,或多种接口连接方式的组合。
如图9所示,移动终端900具体可以包括:处理器910、内部存储器921、外部存储器接口922、通用串行总线(Universal Serial Bus,USB)接口930、充电管理模块940、电源管理模块941、电池942、天线1、天线2、移动通信模块950、无线通信模块960、音频模块970、扬声器971、受话器972、麦克风973、耳机接口974、传感器模块980、显示屏990、摄像模组991、指示器992、马达993、按键994以及用户标识模块(subscriber identification module,SIM)卡接口995等。其中传感器模块980可以包括深度传感器9801、压力传感器9802、陀螺仪传感器9803等。
处理器910可以包括一个或多个处理单元,例如:处理器910可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image SignalProcessor,ISP)、控制器、视频编解码器、数字信号处理器(Digital SignalProcessor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器910中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器910来控制执行。
移动终端900的无线通信功能可以通过天线1、天线2、移动通信模块950、无线通信模块960、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块950可以提供应用在移动终端900上的包括9G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块960可以提供应用在移动终端900上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)等无线通信的解决方案。在一些实施例中,移动终端900的天线1和移动通信模块950耦合,天线2和无线通信模块960耦合,使得移动终端900可以通过无线通信技术与网络以及其他设备通信。
外部存储器接口922可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动终端900的存储能力。外部存储卡通过外部存储器接口922与处理器910通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器921可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器921可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储移动终端900使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器921可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。处理器910通过运行存储在内部存储器921的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端900的各种功能应用以及数据处理。
此外,本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3、图4和图6中任意一个或多个步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (10)
1.一种微服务启动方法,其特征在于,应用于微服务系统,所述方法包括:
响应于目标微服务的启动指令,根据所述微服务系统中全局配置数据包括的配置信息配置所述目标微服务对应的功能,以基于所述功能启动所述目标微服务;
其中,所述全局配置数据包括所述微服务系统提供的微服务使用的多个公共组件的配置信息,所述公共组件的配置信息为可配置的。
2.根据权利要求1所述的方法,其特征在于,所述根据所述微服务系统中全局配置数据包括的配置信息配置所述目标微服务对应的功能,包括:
读取所述目标微服务对应的公共组件声明;所述公共组件声明用于声明所述目标微服务使用的目标公共组件;
根据所述目标公共组件和所述全局配置数据中的配置信息配置所述目标微服务对应的功能。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标公共组件和所述全局配置数据中的配置信息配置所述目标微服务对应的功能,包括:
加载所述目标公共组件对应的目标初始化组件,并读取所述全局配置数据中所述目标公共组件对应的目标配置信息;
基于所述目标配置信息配置所述目标初始化组件得到目标实例。
4.根据权利要求3所述的方法,其特征在于,所述全局配置数据还包括版本依赖声明,其中所述版本依赖声明用于声明所述微服务系统提供的微服务使用的多个公共组件对应的版本;
所述加载所述目标公共组件对应的目标初始化组件,包括:
在所述版本依赖声明中读取所述目标公共组件依赖的版本标识,并根据所述版本标识加载所述目标公共组件对应的目标初始化组件。
5.根据权利要求1所述的方法,其特征在于,所述根据所述微服务系统中全局配置数据包括的配置信息配置所述目标微服务对应的功能,包括:
读取所述目标微服务对应的公共组件声明;所述公共组件声明用于声明所述目标微服务使用的目标公共组件;
根据所述公共组件声明调用所述目标微服务对应的目标服务接口,以通过所述目标服务接口配置所述目标微服务对应的功能;
其中,所述目标服务接口基于目标公共组件对应的目标初始化组件和所述全局配置数据中所述目标公共组件对应的目标配置信息生成。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
配置所述全局配置数据包括的所述微服务系统提供的微服务使用的多个公共组件的配置信息。
7.一种微服务启动装置,其特征在于,应用于微服务系统,所述装置包括:
微服务模块,用于响应于目标微服务的启动指令,根据所述微服务系统中全局配置数据包括的配置信息配置所述目标微服务对应的功能,以基于所述功能启动所述目标微服务;其中,所述全局配置数据包括所述微服务系统提供的微服务使用的多个公共组件的配置信息,所述公共组件的配置信息为可配置的。
8.根据权利要求7所述的装置,其特征在于,所述微服务启动装置还包括全局配置模块,用于配置所述全局配置数据包括的所述微服务系统提供的微服务使用的多个公共组件的配置信息。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809434.0A CN115129394A (zh) | 2022-07-11 | 2022-07-11 | 微服务启动方法及装置、计算机可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809434.0A CN115129394A (zh) | 2022-07-11 | 2022-07-11 | 微服务启动方法及装置、计算机可读介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129394A true CN115129394A (zh) | 2022-09-30 |
Family
ID=83383705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210809434.0A Pending CN115129394A (zh) | 2022-07-11 | 2022-07-11 | 微服务启动方法及装置、计算机可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129394A (zh) |
-
2022
- 2022-07-11 CN CN202210809434.0A patent/CN115129394A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112491948B (zh) | 非侵入式的单体应用微服务化方法、装置及计算机设备 | |
US11016769B1 (en) | Method and apparatus for processing information | |
CN110851204B (zh) | 应用启动的方法及装置、应用打包的方法及装置 | |
CN112068903A (zh) | 应用程序的加载方法、应用程序的加载装置、介质与设备 | |
CN111796865B (zh) | 一种字节码文件修改方法、装置、终端设备及介质 | |
CN111538545A (zh) | Java应用运行方法、装置、介质及电子设备 | |
CN112835615A (zh) | 软件开发工具包的插件化处理方法、装置及电子设备 | |
CN110221840B (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
CN114090090B (zh) | 终端固件的启动方法、装置、电子设备及存储介质 | |
CN109408256B (zh) | 应用调用方法和装置 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN111045746B (zh) | 代码扩展方法和框架 | |
CN109683992B (zh) | 用于管理对象的方法和装置 | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN113050985A (zh) | 前端工程依赖自动注册方法及装置 | |
CN111970349A (zh) | 基于远程过程调用的通讯系统、方法、装置、设备及介质 | |
WO2021097683A1 (zh) | 安卓系统启动的方法、装置、设备及存储介质 | |
CN113961194B (zh) | 基于Flutter跨应用的工程构建方法、系统、终端及介质 | |
CN115129394A (zh) | 微服务启动方法及装置、计算机可读介质和电子设备 | |
CN115080068A (zh) | 资源文件的传输方法、装置、设备及存储介质 | |
CN111142972B (zh) | 用于扩展应用程序的功能的方法、装置、系统及介质 | |
CN114398035A (zh) | 利用组件提供服务的方法、装置、设备和计算机可读介质 | |
CN112711602B (zh) | 一种存储过程的运行方法、装置,数据库系统及存储介质 | |
CN114237819A (zh) | 基于Java虚拟机进行处理的方法及装置、电子设备 | |
CN109669679B (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 |