









技术领域technical field
本申请涉及计算机技术领域,特别是微服务升级方法及装置。The present application relates to the field of computer technology, in particular to a method and apparatus for upgrading microservices.
背景技术Background technique
微服务架构一种可以将复杂的应用拆分成众多可以独立部署独立运行的微服务组件的架构风格。相关技术中的微服务升级是通过暂停运行应用系统中原有的微服务容器,再利用新的微服务容器替换原有微服务容器,因此在微服务的升级过程中应用系统处于停服状态。并且由于应用系统中的微服务存在相互依赖的关系,因此当由于系统中存在较多微服务时,多个微服务升级所需总时间较长,长时间的停服严重影响了用户的使用体验。Microservice architecture is an architectural style that can split a complex application into many microservice components that can be deployed independently and run independently. The microservice upgrade in the related art is to suspend the operation of the original microservice container in the application system, and then replace the original microservice container with a new microservice container. Therefore, the application system is in a stopped state during the microservice upgrade process. And because the microservices in the application system are interdependent, when there are many microservices in the system, the total time required to upgrade multiple microservices is long, and the long-term service outage will seriously affect the user experience. .
发明内容SUMMARY OF THE INVENTION
有鉴于此,本申请提供微服务升级方法及装置。In view of this, the present application provides a microservice upgrade method and apparatus.
具体的,本申请通过如下技术方案实现:Specifically, the present application is realized through the following technical solutions:
根据本申请的第一方面,提出了一种微服务升级方法,包括:According to the first aspect of the present application, a microservice upgrade method is proposed, including:
确定待升级的目标服务,所述目标服务包含一组微服务,且所述目标服务对应的多个服务实例分别连接至负载均衡设备,以由所述多个服务实例对所述负载均衡设备分发的服务请求进行负载分担;Determine the target service to be upgraded, the target service includes a set of microservices, and multiple service instances corresponding to the target service are respectively connected to the load balancing device, so that the multiple service instances distribute to the load balancing device load balancing of service requests;
依次对所述目标服务对应的各个服务实例进行升级处理;其中,针对任一服务实例进行升级处理,包括:断开所述任一服务实例与所述负载均衡设备之间的连接,对所述任一服务实例中的各个微服务进行升级,并将升级成功的所述任一服务实例重新连接至所述负载均衡设备。Perform upgrade processing on each service instance corresponding to the target service in sequence; wherein, performing upgrade processing on any service instance includes: disconnecting the connection between the any service instance and the load balancing device, and performing the upgrade processing on the any service instance. Each microservice in any service instance is upgraded, and the any service instance that is successfully upgraded is reconnected to the load balancing device.
根据本申请的第二方面,提出了一种微服务升级装置,包括:According to the second aspect of the present application, an apparatus for upgrading microservices is proposed, including:
确定单元,用于确定待升级的目标服务,所述目标服务包含一组微服务,且所述目标服务对应的多个服务实例分别连接至负载均衡设备,以由所述多个服务实例对所述负载均衡设备分发的服务请求进行负载分担;The determining unit is used to determine the target service to be upgraded, the target service includes a group of microservices, and multiple service instances corresponding to the target service are respectively connected to the load balancing device, so that the multiple service instances can balance all the services. load balancing the service requests distributed by the load balancing device;
升级单元,用于依次对所述目标服务对应的各个服务实例进行升级处理;其中,针对任一服务实例进行升级处理,包括:断开所述任一服务实例与所述负载均衡设备之间的连接,对所述任一服务实例中的各个微服务进行升级,并将升级成功的所述任一服务实例重新连接至所述负载均衡设备。an upgrade unit, configured to perform upgrade processing on each service instance corresponding to the target service in sequence; wherein, performing upgrade processing on any service instance includes: disconnecting the connection between the any service instance and the load balancing device connection, upgrade each microservice in any of the service instances, and reconnect the successfully upgraded any of the service instances to the load balancing device.
根据本申请的第三方面,提供一种电子设备,包括:According to a third aspect of the present application, an electronic device is provided, comprising:
处理器;processor;
用于存储处理器可执行指令的存储器;memory for storing processor-executable instructions;
其中,所述处理器通过运行所述可执行指令以实现如上述第一方面的实施例中所述的方法。Wherein, the processor executes the executable instructions to implement the method described in the embodiments of the first aspect.
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面的实施例中所述方法的步骤。According to a fourth aspect of the embodiments of the present application, there is provided a computer-readable storage medium storing computer instructions thereon, and when the instructions are executed by a processor, the steps of the method described in the embodiments of the first aspect are implemented.
由以上本申请提供的技术方案可见,本申请将微服务以组的形式进行统一升级,并对各组微服务设置有多个服务实例以对服务请求进行负载分担,通过对多个服务实例进行依次升级,从而使得微服务的升级可以在线完成,使得在升级过程中一直存在能够响应服务请求的服务实例,不会影响应用系统对外提供的服务。It can be seen from the above technical solutions provided in this application that the application upgrades microservices in groups in a unified manner, and sets up multiple service instances for each group of microservices to share the load of service requests. Upgrade in sequence, so that the upgrade of microservices can be completed online, so that there will always be service instances that can respond to service requests during the upgrade process, and will not affect the external services provided by the application system.
附图说明Description of drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description serve to explain the principles of the application.
图1是应用本申请实施例的应用系统的微服务架构示意图;1 is a schematic diagram of a microservice architecture of an application system applying an embodiment of the present application;
图2是根据本申请一示例性实施例示出的一种服务实例架构示意图;FIG. 2 is a schematic diagram of a service instance architecture according to an exemplary embodiment of the present application;
图3是根据本申请一示例性实施例示出的一种微服务升级方法的流程图;FIG. 3 is a flowchart of a method for upgrading microservices according to an exemplary embodiment of the present application;
图4是根据本申请一示例性实施例示出的一种具有循环依赖的服务的依赖关系示意图;FIG. 4 is a schematic diagram of a dependency relationship of a service having a circular dependency according to an exemplary embodiment of the present application;
图5是根据本申请一示例性实施例示出的一种具有循环依赖的服务的拆解后依赖关系示意图;5 is a schematic diagram of a disassembled dependency relationship of a service with circular dependencies according to an exemplary embodiment of the present application;
图6是根据本申请一示例性实施例示出的一种微服务升级方法的流程图;FIG. 6 is a flowchart of a method for upgrading microservices according to an exemplary embodiment of the present application;
图7是根据本申请一示例性实施例示出的一种服务依赖关系结构示意图;FIG. 7 is a schematic diagram of a service dependency structure according to an exemplary embodiment of the present application;
图8是根据本申请一示例性实施例示出的一种服务升级方法的流程图;FIG. 8 is a flowchart of a service upgrade method according to an exemplary embodiment of the present application;
图9是根据本申请一示例性实施例示出的一种微服务升级电子设备示意图;FIG. 9 is a schematic diagram of an electronic device for upgrading microservices according to an exemplary embodiment of the present application;
图10是根据本申请一示例性实施例示出的一种微服务升级装置的框图。Fig. 10 is a block diagram of an apparatus for upgrading microservices according to an exemplary embodiment of the present application.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. When the following description refers to the drawings, the same numerals in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the illustrative examples below are not intended to represent all implementations consistent with this application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as recited in the appended claims.
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to limit the application. As used in this application and the appended claims, the singular forms "a," "the," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information without departing from the scope of the present application. Depending on the context, the word "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determining."
接下来对本申请实施例进行详细说明。Next, the embodiments of the present application will be described in detail.
图1为应用本申请实施例的应用系统的微服务架构示意图,如图1所示,应用系统中包含多个服务,每个服务均由至少一个微服务组成,其中每个服务中所包含的微服务可以由本领域技术人员根据需要自行设置,可以是具有相似功能的微服务,也可以是具有相关联功能的微服务,本申请对此不作限制。相比于相关技术中的以微服务作为统一的调度单元针对各个微服务进行单独升级,本申请以包含一组微服务的服务作为统一的调度单位,针对服务中所包含的各个微服务进行统一升级。在升级过程中,一个服务中所包含的各个微服务要么全都升级要么全都不升级。例如,图1中的应用系统包含服务A、服务B等多个服务,服务A包含有微服务A-1、微服务A-2和微服务A-3等多个微服务,在对图1所示的应用系统进行升级时,以服务A、服务B等服务作为最小的升级单位,通过升级服务A以对其中的微服务A-1、微服务A-2和微服务A-3等微服务进行统一升级。通过将构成服务的一组微服务统一升级,可以一定程度的缩短应用系统整体的升级时间。FIG. 1 is a schematic diagram of a microservice architecture of an application system to which an embodiment of the present application is applied. As shown in FIG. 1 , the application system includes multiple services, and each service is composed of at least one microservice. The microservices can be set by those skilled in the art as needed, and may be microservices with similar functions or microservices with associated functions, which are not limited in this application. Compared with the related art that uses microservices as a unified scheduling unit to upgrade each microservice individually, this application uses a service containing a group of microservices as a unified scheduling unit to unify each microservice included in the service. upgrade. During the upgrade process, each microservice included in a service is either all upgraded or none of them are upgraded. For example, the application system in Figure 1 includes multiple services such as service A and service B, and service A includes multiple microservices such as microservice A-1, microservice A-2, and microservice A-3. When the application system shown is upgraded, services such as service A and service B are used as the smallest upgrade unit. By upgrading service A, microservices such as microservice A-1, microservice A-2 and microservice A-3 are upgraded. Unified service upgrade. By uniformly upgrading a group of microservices that constitute a service, the overall upgrade time of the application system can be shortened to a certain extent.
在上述微服务架构的基础上,本申请还采用了多服务实例的形式对应用系统中的各个服务进行部署和规划,对于每个服务可以部署有与之对应的多个服务实例,将同一服务所对应的多个服务实例连接至同一负载均衡设备,以通过该负载均衡设备对服务请求进行负载分担。图2为根据本申请一示例性实施例示出的一种服务实例架构示意图。如图2所示,服务A对应有服务实例A1和服务实例A2,服务实例A1和服务实例A2均与负载均衡设备a连接,负载均衡设备a在接收到服务请求后通过负载均衡策略将服务请求分发给服务实例A1和服务实例A2,以使服务实例A1和服务实例A2对服务请求进行负载分担。在一实施例中,一个服务所对应多个服务实例可以被部署在不同的物理机上,避免因为一物理机宕机而导致某一服务所对应的服务实例均无法运行造成单点故障。On the basis of the above micro-service architecture, the application also adopts the form of multiple service instances to deploy and plan each service in the application system. For each service, multiple service instances corresponding to it can be deployed, and the same service The corresponding multiple service instances are connected to the same load balancing device, so as to perform load balancing of service requests through the load balancing device. FIG. 2 is a schematic diagram of a service instance architecture according to an exemplary embodiment of the present application. As shown in Figure 2, service A corresponds to service instance A1 and service instance A2. Both service instance A1 and service instance A2 are connected to load balancing device a. After receiving the service request, load balancing device a uses the load balancing strategy to transfer the service request. Distributed to service instance A1 and service instance A2, so that service instance A1 and service instance A2 can perform load sharing on service requests. In one embodiment, multiple service instances corresponding to a service may be deployed on different physical machines, so as to avoid a single point of failure caused by the failure of a physical machine to cause service instances corresponding to a service to fail to run.
在上述微服务架构的基础上,图3为根据本申请一示例性实施例示出的一种微服务升级方法的流程图。如图3所示,可以包括如下步骤:On the basis of the above microservice architecture, FIG. 3 is a flowchart of a method for upgrading microservices according to an exemplary embodiment of the present application. As shown in Figure 3, the following steps may be included:
步骤302:确定待升级的目标服务,所述目标服务包含一组微服务,且所述目标服务对应的多个服务实例分别连接至负载均衡设备,以由所述多个服务实例对所述负载均衡设备分发的服务请求进行负载分担。Step 302: Determine the target service to be upgraded, the target service includes a set of microservices, and multiple service instances corresponding to the target service are respectively connected to the load balancing device, so that the load is balanced by the multiple service instances. Load balancing of service requests distributed by the balancing device.
需要说明的是,一个完整的微服务架构的应用系统通常包含多个微服务,各个微服务之间存在互相调用的情况,以形成一个调用链。同样的,在本申请的微服务架构中,各个服务之间也会出现相互调用的情况,在其所形成的调用链中,下游服务需要调用上游服务的功能,即下游服务功能的实现需要依赖上游服务。举例而言,若某个服务C的功能的实现,需要调用服务B,则服务C和服务B之间的依赖关系为服务C依赖于服务B,服务C属于服务B的下游服务。正是由于在微服务的架构中各服务之间存在如前所述的依赖关系,并且在相关技术规范中升级后的高版本的服务所提供的API需要完全兼容低版本的服务所提供的API,因此在对应用服务中的各服务进行升级时,需要按照各服务之间的依赖关系依次升级。It should be noted that an application system with a complete microservice architecture usually includes multiple microservices, and each microservice calls each other to form a call chain. Similarly, in the micro-service architecture of the present application, each service will also call each other. In the call chain formed, the downstream service needs to call the function of the upstream service, that is, the realization of the downstream service function needs to rely on upstream service. For example, if the realization of the function of a service C requires calling service B, the dependency relationship between service C and service B is that service C depends on service B, and service C belongs to the downstream service of service B. It is precisely because of the aforementioned dependencies between the services in the microservice architecture, and the APIs provided by the upgraded high-version services in the relevant technical specifications need to be fully compatible with the APIs provided by the lower-version services. , so when upgrading each service in the application service, it needs to be upgraded in sequence according to the dependencies between the services.
在一实施例中,确定待升级的目标服务包括:根据各服务之间的依赖关系,确定任一服务所依赖的上游服务;若所述上游服务全部升级完成或者无需升级,且所述任一服务的待升级版本号高于其当前版本号,则将所述任一服务确定为所述目标服务。其中,各服务之间的依赖关系可以以类树形结构的形式表示,该类树形结构的根节点可以为不存在上游依赖的服务。在对应用系统进行升级时,可以以该类树形结构的根节点为起点进行升级,将根节点所对应的服务确定为初始的待升级的目标服务,并在将该服务升级完成后通过检索按照各服务依赖关系所组成的类树形结构确定其所对应的下游服务,若该下游服务所对应的上游服务全部升级完成或者无需升级,且该下游服务的待升级版本号高于其当前版本号,则将该下游服务确定为新的目标服务,以此类推。In one embodiment, determining the target service to be upgraded includes: determining the upstream service on which any service depends according to the dependencies between the services; if all the upstream services have been upgraded or do not need to be upgraded, and any of the upstream services If the version number of the service to be upgraded is higher than its current version number, any one of the services is determined as the target service. The dependencies between the services may be represented in the form of a tree-like structure, and the root node of the tree-like structure may be a service that does not have upstream dependencies. When upgrading the application system, the root node of this type of tree structure can be used as the starting point for the upgrade, and the service corresponding to the root node is determined as the initial target service to be upgraded, and after the service is upgraded, it can be retrieved by searching Determine the corresponding downstream service according to the tree-like structure formed by the dependencies of each service. If all the upstream services corresponding to the downstream service have been upgraded or do not need to be upgraded, and the version number of the downstream service to be upgraded is higher than its current version number, the downstream service is determined as the new target service, and so on.
其中,由于各服务之间的依赖关系与各服务中所包含的微服务有关,因此本领域技术人员在架构应用系统时,可能会由于对微服务的规划不合理使得所架构的各个服务之间可存在循环依赖。图4所示,为根据本申请一示例性实施例示出的一种具有循环依赖的服务的依赖关系示意图。其中,401为可以用于提供鉴权认证的用户中心服务;402为可以用于创建负载均衡实例并向用户中心提供高可用的负载均衡服务。因此,在如图4所示的依赖关系下,负载均衡服务402在创建负载均衡实例时需要依赖用户中心服务401进行权限认证,用户中心服务401则在部署用户中心时需要依赖负载均衡服务402提供高可用的服务,即负载均衡服务402与用户中心服务401之间存在循环依赖。因此,为了避免在升级时无法确定待升级的目标服务,需要事先根据各服务之间的依赖关系,检测所述各服务之间是否存在循环依赖;对产生循环依赖的服务中所包含的微服务进行重新划分,以更新所述依赖关系。举例而言,针对如图4所示的循环依赖,可以通过对负载均衡402中的微服务进行重新划分,将负载均衡402拆分成两个部分。图5为根据本申请一示例性实施例示出的一种具有循环依赖的服务的拆解后依赖关系示意图,如图5所示,可以将图4中的负载均衡服务402拆分为校验负载均衡参数合法性及鉴权认证的服务501以及执行创建负载均衡实例的服务502,用户中心服务401在部署用户中心时需要依赖服务502中的负载均衡实例提供高可用的服务,服务501在创建负载均衡实例时需要依赖用户中心服务401进行权限认证,虽然负载均衡服务402在拆分后依然保持了原有的逻辑,在服务501校验和鉴权认证通过的情况下调用服务502创建负载均衡实例,但拆分后的服务与用户中心服务401之间不再存在循环的依赖关系。Among them, since the dependencies between the services are related to the micro-services included in each service, those skilled in the art may, when architecting an application system, cause the various services to be constructed due to unreasonable planning of micro-services. Circular dependencies can exist. FIG. 4 is a schematic diagram of a dependency relationship of a service with circular dependencies according to an exemplary embodiment of the present application. Among them, 401 is a user center service that can be used to provide authentication and authentication; 402 is a load balancing service that can be used to create a load balancing instance and provide high availability to the user center. Therefore, under the dependency relationship shown in Figure 4, the
在一实施例中,当存在多个待升级的目标服务时,可以将这多个待升级的目标服务并行升级。因此,在基于类树形结构的依赖关系确定待升级的目标服务时,可以通过广度优先的方式对该类树形结构的依赖关系进行遍历。当某一个服务升级完成后,遍历依赖该服务的下游服务以将所有符合升级条件的下游服务加入调度队列,并在升级时将调度队列中所存在的各个服务并行升级。通过遍历类树形结构的依赖关系以选取符合升级条件的所有服务并行升级,可以在不影响服务相互之间调用的基础上,提高应用系统的整体升级速度。In one embodiment, when there are multiple target services to be upgraded, the multiple target services to be upgraded can be upgraded in parallel. Therefore, when the target service to be upgraded is determined based on the dependency of the tree-like structure, the dependency of the tree-like structure can be traversed in a breadth-first manner. When a certain service is upgraded, traverse the downstream services that depend on the service to add all downstream services that meet the upgrade conditions to the scheduling queue, and upgrade each service existing in the scheduling queue in parallel during the upgrade. By traversing the dependencies of the tree-like structure to select all services that meet the upgrade conditions for parallel upgrade, the overall upgrade speed of the application system can be improved on the basis of not affecting the calls between services.
步骤304:依次对所述目标服务对应的各个服务实例进行升级处理;其中,针对任一服务实例进行升级处理,包括:断开所述任一服务实例与所述负载均衡设备之间的连接,对所述任一服务实例中的各个微服务进行升级,并将升级成功的所述任一服务实例重新连接至所述负载均衡设备。Step 304: Perform upgrade processing on each service instance corresponding to the target service in sequence; wherein, performing the upgrade processing on any service instance includes: disconnecting the connection between the any service instance and the load balancing device, Each microservice in the any service instance is upgraded, and the any service instance that is successfully upgraded is reconnected to the load balancing device.
通过对待升级的目标服务所对应的服务实例依次升级,使得在升级过程中总会存在有正常运行的服务实例对服务请求进行响应,从而使得用户对应用系统中的微服务升级是无感知的,不会影响用户的正常使用。By upgrading the service instances corresponding to the target service to be upgraded in sequence, there will always be service instances running normally to respond to service requests during the upgrade process, so that users are unaware of the microservice upgrade in the application system. It will not affect the normal use of users.
在对任一服务实例进行升级时,需要断开将该服务实例与负载均衡设备之间的连接,以将该服务实例从负载均衡设备的负载均衡策略中删除,而目标服务所对应的其他服务实例则保持不变,依然存在于负载均衡设备所对应的负载均衡策略中。因此,在对该服务实例进行升级的过程中负载均衡设备不会再考虑将服务请求分发给该升级中的服务实例,而是将服务请求分发给目标服务所对应的其他暂时未升级或者已经升级完成的其他服务实例,以使得目标服务的正常功能调用不受影响。When upgrading any service instance, the connection between the service instance and the load balancing device needs to be disconnected, so as to delete the service instance from the load balancing policy of the load balancing device, and other services corresponding to the target service The instance remains unchanged and still exists in the load balancing policy corresponding to the load balancing device. Therefore, in the process of upgrading the service instance, the load balancing device will no longer consider distributing the service request to the service instance being upgraded, but distributes the service request to other temporarily unupgraded or upgraded service instances corresponding to the target service. Complete other service instances so that normal function invocations of the target service are not affected.
进一步的,依次对目标服务所对应的各个服务实例进行升级处理可以是逐个地获取服务实例进行升级。但当目标服务对应的服务实例数量比较多时,也可以先对服务实例进行分批处理,然后按批次将批次内的服务实例与对应的负载均衡设备断开,并对当前批次内的服务实例进行并行升级,从而在保持目标服务的正常功能调用不受影响的同时,也能够进一步的提高目标服务的升级效率,缩短服务升级所需时长。Further, in order to perform upgrade processing on each service instance corresponding to the target service, the service instances may be acquired one by one and upgraded. However, when the number of service instances corresponding to the target service is relatively large, the service instances can be batched first, and then the service instances in the batch are disconnected from the corresponding load balancing devices in batches, and the service instances in the current batch can be disconnected by batches. The service instances are upgraded in parallel, so that while the normal function calls of the target service are not affected, the upgrade efficiency of the target service can be further improved, and the time required for service upgrade can be shortened.
在本申请中,为了避免升级后的服务实例无法正常运行,各个服务实例中还包含有测试镜像,以用于对服务实例进行功能检查。在任一服务实例中的各个微服务升级完成后通过运行该服务实例中的测试镜像对升级后的服务实例进行冒烟测试,以确定服务实例的状态是否正常,同时验证该服务实例所有的功能,以确保升级结果符合预期。In the present application, in order to prevent the upgraded service instance from running normally, each service instance also includes a test image, which is used to check the function of the service instance. After the upgrade of each microservice in any service instance is completed, run the test image in the service instance to perform a smoke test on the upgraded service instance to determine whether the status of the service instance is normal, and to verify all the functions of the service instance. to ensure that the upgrade results are as expected.
在一实施例中,在升级后的所述任一服务实例通过功能验证的情况下,确定所述任一服务实例升级成功,将升级成功的服务实例重新连接至负载均衡设备使得该升级成功的服务实例可以对负载均衡设备分发的服务请求进行负载分担,若该目标服务中所对应的服务实例中存在未升级的服务实例,这可以获取未升级的服务实例进行升级;若该目标服务所对应的所有服务实例均升级成功,则确定该目标服务升级完成,可以进一步确定新的待升级的目标服务。在升级后的所述任一服务实例未通过功能验证的情况下,需要将升级后的所述任一服务实例恢复至升级前版本,并将当前验证不通过的服务实例重新加入到目标服务对应负载均衡设备中,判定该服务实例升级失败。同时也可以收集并记录检查失败的实例对应的检查数据,其中,检查数据包括业务逻辑信息、报错信息等,通过将检查数据输出给测试人员,以方便测试人员查找服务实例升级失败的原因。In one embodiment, if any of the upgraded service instances passes the functional verification, it is determined that the upgrade of any of the service instances is successful, and the successfully upgraded service instances are reconnected to the load balancing device so that the upgrade is successful. The service instance can perform load balancing on the service requests distributed by the load balancing device. If there is an unupgraded service instance in the service instance corresponding to the target service, this can obtain the unupgraded service instance for upgrade; if the target service corresponds to If all service instances of the target service are upgraded successfully, it is determined that the target service is upgraded, and a new target service to be upgraded can be further determined. In the case that any of the upgraded service instances fail to pass the functional verification, it is necessary to restore any of the upgraded service instances to the pre-upgrade version, and re-add the service instances that fail the current verification to the corresponding target service In the load balancing device, it is determined that the upgrade of the service instance fails. At the same time, you can also collect and record the check data corresponding to the instance that fails the check, where the check data includes business logic information, error information, etc., by outputting the check data to the tester, it is convenient for the tester to find the reason for the failure of the service instance upgrade.
由以上本申请提供的技术方案可见,本申请通过将微服务以组的形式进行统一升级,并对各组微服务设置有多个服务实例以对服务请求进行负载分担,通对多个服务实例进行依次升级,从而使得微服务的升级可以在线完成,在升级过程中一直存在能够响应服务请求的服务实例,不会影响应用系统对外提供的服务。下面结合图6进行详细说明。其中,图6根据本申请一示例性实施例示出的一种微服务升级方法的流程图。如图6所示可以包括以下步骤:It can be seen from the above technical solutions provided by this application that this application upgrades the microservices in groups in a unified manner, and sets up multiple service instances for each group of microservices to share the load of service requests, so as to achieve multiple service instances. Upgrade in sequence, so that the upgrade of microservices can be completed online. During the upgrade process, there are always service instances that can respond to service requests, which will not affect the external services provided by the application system. A detailed description will be given below with reference to FIG. 6 . Among them, FIG. 6 shows a flowchart of a method for upgrading microservices according to an exemplary embodiment of the present application. As shown in Figure 6, the following steps can be included:
步骤601,确定应用系统中各服务之间的依赖关系。Step 601: Determine the dependencies between the services in the application system.
本实施例的微服务升级方法应用于如图1和图2所示的微服务架构的应用系统中。当需要对应用系统中的微服务进行升级时,需要预先根据应用系统中各服务之间的相互调用的情况确定各服务之间的依赖关系,如图7所示,应用系统中各服务之间的依赖关系可以通过类树形结构表示。若服务A与服务B的上游依赖为空,则可以将服务A和服务B作为依赖关系的类树形结构的根节点,服务B依赖于服务A,服务E依赖于服务B,则可以将服务C和服务E分别作为服务A和服务B的下游服务,而服务D同时依赖与服务C和服务A,则服务D为服务A与服务C的共同的下游服务。The microservice upgrade method in this embodiment is applied to the application system of the microservice architecture shown in FIG. 1 and FIG. 2 . When the microservices in the application system need to be upgraded, the dependencies between the services need to be determined in advance according to the mutual invocation of the services in the application system. As shown in Figure 7, between the services in the application system The dependencies can be represented by a tree-like structure. If the upstream dependencies of service A and service B are empty, then service A and service B can be used as the root nodes of the tree-like structure of the dependency relationship, service B depends on service A, and service E depends on service B, then the service can be Service C and service E are the downstream services of service A and service B respectively, and service D depends on service C and service A at the same time, so service D is the common downstream service of service A and service C.
步骤602,确定待升级的目标服务。Step 602: Determine the target service to be upgraded.
在确定应用系统所对应的依赖关系的类树形结构后,可以以根节点为起点,采用广度优先的方式进行遍历,将遍历得到的符合升级条件的服务作为待升级的目标服务。以上述图7所示的类树形结构为例,以根节点为起点,遍历得到服务A和服务B,且服务A和服务B均不存在上游服务,且服务A和服务B的待升级版本号高于应用系统中的当前版本号,则将服务A个服务B确定为待升级的目标服务。After determining the tree-like structure of the dependencies corresponding to the application system, the root node can be used as the starting point to traverse in a breadth-first manner, and the traversed services that meet the upgrade conditions can be used as the target services to be upgraded. Take the tree-like structure shown in Figure 7 above as an example, take the root node as the starting point, traverse to obtain service A and service B, and there is no upstream service in both service A and service B, and the to-be-upgraded versions of service A and service B If the number is higher than the current version number in the application system, service A and service B are determined as the target services to be upgraded.
步骤603,将待升级的服务加入调度队列。Step 603, adding the service to be upgraded to the scheduling queue.
将服务A与服务B加入调度队列。Add service A and service B to the scheduling queue.
步骤604,对调度队列中的服务并行升级。
对调度队列中的服务A和服务B并行升级,其中对服务进行升级的具体流程内容可以参考下述图8的相关记载,此处不再赘述。The service A and the service B in the scheduling queue are upgraded in parallel, and the specific process content of upgrading the service may refer to the related records in the following FIG. 8 , which will not be repeated here.
步骤605,在服务升级完成后返回步骤602。Step 605, return to step 602 after the service upgrade is completed.
在服务A和服务B升级完成后,返回步骤602,确定新的待升级的目标服务。同样的,可以采用广度优先的方式对图7所示的各服务依赖关系的类树形结构进行遍历,确定服务A和服务B的下游服务。根据图7可知服务A和服务B的下游服务为服务C、服务D和服务E,但由于服务D所依赖的上游服务除服务A外还同依赖于服务C,而此时的服务C并未升级完成,因此服务D并不能作为该轮次的待升级的目标服务。若服务C和服务E的待升级版本号均高于当前版本号,则可以确定服务C和服务E为第二轮次的待升级的目标服务,重复上述步骤603至605,以对服务C和服务E并行升级。After the upgrade of service A and service B is completed, return to step 602 to determine a new target service to be upgraded. Similarly, the tree-like structure of each service dependency relationship shown in FIG. 7 can be traversed in a breadth-first manner to determine the downstream services of service A and service B. According to Figure 7, it can be seen that the downstream services of service A and service B are service C, service D, and service E, but since the upstream service that service D depends on also depends on service C in addition to service A, service C at this time does not The upgrade is completed, so service D cannot be the target service to be upgraded in this round. If the to-be-upgraded version numbers of service C and service E are both higher than the current version numbers, it can be determined that service C and service E are the target services to be upgraded in the second round, and the above steps 603 to 605 are repeated to update service C and service E. Service E is upgraded in parallel.
在服务C和服务E升级完成后,再一次返回步骤602,确定新一轮的待升级的目标服务,此时同样采用广度优先的方式对图7所示的各服务依赖关系的类树形结构进行遍历,确定服务C和服务E的下游服务。如图7所示,服务C存在下游服务D,服务E不存在下游服务,而服务D所依赖的上游服务C和服务A均已升级完成,若服务D的待升级版本号高于其当前版本号,则将服务D确定为待升级的目标服务,重复上述步骤603至605,以对服务D升级。After the upgrade of service C and service E is completed, return to step 602 again to determine a new round of target services to be upgraded. At this time, the tree-like structure of each service dependency shown in FIG. 7 is also adopted in a breadth-first manner. A traversal is performed to determine the downstream services of service C and service E. As shown in Figure 7, service C has downstream service D, service E does not have downstream services, and both upstream service C and service A that service D depends on have been upgraded. If the version number of service D to be upgraded is higher than its current version number, service D is determined as the target service to be upgraded, and the above steps 603 to 605 are repeated to upgrade service D.
在对服务D升级完成后,同样采用广度优先的方式对图7所示的各服务依赖关系的类树形结构进行遍历,如图7所示服务D在不存在下游服务,则可以确定该应用系统中的各服务均已升级完成。After the upgrade of service D is completed, the tree-like structure of each service dependency shown in Figure 7 is also traversed in a breadth-first manner. As shown in Figure 7, if there is no downstream service in service D, it can be determined that the application All services in the system have been upgraded.
图8为根据本申请一示例性实施例示出的一种服务升级方法的流程图,如图8所示可以包括以下步骤:FIG. 8 is a flow chart of a service upgrade method according to an exemplary embodiment of the present application. As shown in FIG. 8 , the following steps may be included:
步骤802:确定待升级的目标服务实例。Step 802: Determine the target service instance to be upgraded.
以图2所示的服务实例架构为例,服务A对应有服务实例A1和服务实例A2,服务实例A1和服务实例A2均与负载均衡设备a连接,负载均衡设备a在接收到服务请求后通过负载均衡策略将服务请求分发给服务实例A1和服务实例A2,以使服务实例A1和服务实例A2对服务请求进行负载分担。在对服务A进行升级的过程中,可以先将服务实例A1确定为待升级的目标服务实例。Taking the service instance architecture shown in Figure 2 as an example, service A corresponds to service instance A1 and service instance A2. Both service instance A1 and service instance A2 are connected to load balancing device a, and load balancing device a passes the service request after receiving the service request. The load balancing strategy distributes the service request to the service instance A1 and the service instance A2, so that the service instance A1 and the service instance A2 perform load sharing on the service request. In the process of upgrading the service A, the service instance A1 may be first determined as the target service instance to be upgraded.
步骤804:断开目标服务实例与负载均衡设备a之间的连接。Step 804: Disconnect the connection between the target service instance and the load balancing device a.
在对服务实例A1升级前,需要先断开服务实例A1与负载均衡设备a之间的连接,使得负载均衡设备a不会再将服务请求分发给服务实例A1,而是将服务请求分发给服务A所对应的其他暂时未升级或者已经升级完成的其他服务实例,即服务实例A2。Before upgrading the service instance A1, it is necessary to disconnect the connection between the service instance A1 and the load balancing device a, so that the load balancing device a will no longer distribute the service request to the service instance A1, but distribute the service request to the service Other service instances corresponding to A that have not been upgraded or have been upgraded for the time being, namely service instance A2.
步骤806:对目标服务实例中的各个微服务进行升级。Step 806: Upgrade each microservice in the target service instance.
在断开服务实例A1与负载均衡设备a之间的连接后,对目标服务实例中的各个微服务进行升级。对目标服务实例中的各个微服务进行升级的方法可以参考相关技术中的现有描述,例如将拷贝到服务器的容器镜像上传至镜像仓库中;然后在变更窗口内,通过容器管控控制器将新的微服务容器替换现有的微服务容器,本申请对此不作限制。After disconnecting the connection between the service instance A1 and the load balancing device a, upgrade each microservice in the target service instance. For the method of upgrading each microservice in the target service instance, you can refer to the existing description in the related art, for example, upload the container image copied to the server to the mirror warehouse; The existing microservice container is replaced by the existing microservice container, which is not limited in this application.
步骤808:运行升级后的目标服务实例中的测试镜像.Step 808: Run the test image in the upgraded target service instance.
如图2所示,服务A的各个服务实例中均包含有测试镜像,在服务实例A1升级完成后,可以运行服务实例A1中的测试镜像以对升级后的服务实例进行功能测试。As shown in Figure 2, each service instance of service A contains test images. After the upgrade of service instance A1 is completed, the test image in service instance A1 can be run to perform functional tests on the upgraded service instance.
步骤810:确定功能验证是否成功。Step 810: Determine whether the functional verification is successful.
在升级后的服务实例A1通过功能验证的情况下,确定服务实例A1升级成功,跳转至步骤812a。In the case that the upgraded service instance A1 passes the functional verification, it is determined that the service instance A1 is successfully upgraded, and the process jumps to step 812a.
在升级后的服务实例A1未通过功能验证的情况下,确定服务实例A1升级未成功,跳转至步骤812b。In the case that the upgraded service instance A1 fails the functional verification, it is determined that the upgrade of the service instance A1 is unsuccessful, and the process jumps to step 812b.
步骤812a:将升级成功的目标服务实例重新连接至负载均衡设备a,并跳转至步骤802。
在服务实例A1升级生成后,将其重新连接至负载均衡设备a使得该升级成功的服务实例A1可以对负载均衡设备a分发的服务请求进行负载分担。同时跳转至步骤802,以确定新的待升级的目标服务实例,例如在本实施例中,服务A所对应的服务实例A2未升级,则可以将服务实例A2确定为新的待升级的目标服务实例,重复步骤804至812a,若服务实例A2也升级成功,则服务A所对应的各个服务实例均升级成功,即服务A升级完成。After the service instance A1 is upgraded and generated, it is reconnected to the load balancing device a, so that the successfully upgraded service instance A1 can perform load sharing on the service requests distributed by the load balancing device a. At the same time, jump to step 802 to determine the new target service instance to be upgraded. For example, in this embodiment, if the service instance A2 corresponding to the service A is not upgraded, the service instance A2 can be determined as the new target to be upgraded. For the service instance, steps 804 to 812a are repeated. If the service instance A2 is also successfully upgraded, then each service instance corresponding to the service A is successfully upgraded, that is, the upgrade of the service A is completed.
步骤814b:将升级后的目标服务实例恢复升级前版本。Step 814b: Restore the upgraded target service instance to the pre-upgrade version.
将未升级成功的升级后服务实例A1恢复至升级前版本,并将该服务实例重新与负载均衡设备a相连接,以便后续本领域技术人员在排查升级失败原因后重新升级。Restore the upgraded service instance A1 that has not been successfully upgraded to the pre-upgrade version, and reconnect the service instance to the load balancing device a, so that those skilled in the art can re-upgrade after checking the reason for the upgrade failure.
与上述方法实施例相对应,本说明书还提供了一种装置的实施例。Corresponding to the foregoing method embodiments, the present specification also provides an embodiment of an apparatus.
图9是根据本申请一示例性实施例示出的一种微服务升级电子设备的结构示意图。参考图9,在硬件层面,该电子设备包括处理器902、内部总线904、网络接口906、内存908以及非易失性存储器910,当然还可能包括其他业务所需要的硬件。处理器902从非易失性存储器910中读取对应的计算机程序到内存908中然后运行。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。FIG. 9 is a schematic structural diagram of an electronic device for microservice upgrading according to an exemplary embodiment of the present application. Referring to FIG. 9, at the hardware level, the electronic device includes a
图10是根据本申请一示例性实施例示出的一种微服务升级装置的框图。参照图10,该装置包括确定单元1002和升级单元1004,其中:Fig. 10 is a block diagram of an apparatus for upgrading microservices according to an exemplary embodiment of the present application. 10, the apparatus includes a determination unit 1002 and an upgrade unit 1004, wherein:
第一确定单元1002被配置为确定待升级的目标服务,所述目标服务包含一组微服务,且所述目标服务对应的多个服务实例分别连接至负载均衡设备,以由所述多个服务实例对所述负载均衡设备分发的服务请求进行负载分担。The first determining unit 1002 is configured to determine a target service to be upgraded, the target service includes a group of microservices, and multiple service instances corresponding to the target service are respectively connected to the load balancing device, so that the multiple services can be The instance performs load sharing on the service requests distributed by the load balancing device.
可选的,所述确定待升级的目标服务包括:根据各服务之间的依赖关系,确定任一服务所依赖的上游服务;若所述上游服务全部升级完成或者无需升级,且所述任一服务的待升级版本号高于其当前版本号,则将所述任一服务确定为所述目标服务。Optionally, the determining the target service to be upgraded includes: determining the upstream service that any service depends on according to the dependencies between the services; if all the upstream services have been upgraded or do not need to be upgraded, and any of the upstream services If the version number of the service to be upgraded is higher than its current version number, any one of the services is determined as the target service.
升级单元1004被配置为依次对所述目标服务对应的各个服务实例进行升级处理;其中,针对任一服务实例进行升级处理,包括:断开所述任一服务实例与所述负载均衡设备之间的连接,对所述任一服务实例中的各个微服务进行升级,并将升级成功的所述任一服务实例重新连接至所述负载均衡设备。The upgrade unit 1004 is configured to perform upgrade processing on each service instance corresponding to the target service in sequence; wherein, performing the upgrade processing on any service instance includes: disconnecting the connection between the any service instance and the load balancing device connection, upgrade each microservice in any of the service instances, and reconnect the successfully upgraded any of the service instances to the load balancing device.
可选的,上述装置还包括:Optionally, the above device also includes:
检测单元1006,被配置为根据各服务之间的依赖关系,检测所述各服务之间是否存在循环依赖。The detection unit 1006 is configured to detect whether there is a circular dependency among the services according to the dependency relationship between the services.
更新单元1008,被配置为对产生循环依赖的服务中所包含的微服务进行重新划分,以更新所述依赖关系。The updating unit 1008 is configured to re-divide the microservices included in the services that generate circular dependencies, so as to update the dependencies.
可选的,当存在多个待升级的目标服务时,所述多个待升级的目标服务并行升级。Optionally, when there are multiple target services to be upgraded, the multiple target services to be upgraded are upgraded in parallel.
可选的,所述多个服务实例分别运行在不同的物理机上。Optionally, the multiple service instances respectively run on different physical machines.
可选的,每个服务实例包含测试镜像上述装置还包括:Optionally, each service instance includes a test image and the above-mentioned device further includes:
验证单元1010,被配置为在所述任一服务实例中的各个微服务升级完成后运行所述测试镜像,以对升级后的所述任一服务实例的功能进行验证。The verification unit 1010 is configured to run the test image after the upgrade of each microservice in the any service instance is completed, so as to verify the function of the upgraded any service instance.
可选的,上述装置还包括:Optionally, the above device also includes:
第二确定单元1012,被配置为在升级后的所述任一服务实例通过功能验证的情况下,确定所述任一服务实例升级成功。The second determination unit 1012 is configured to determine that the upgrade of any of the service instances is successful if the upgraded any of the service instances passes the function verification.
恢复单元1014,被配置为在升级后的所述任一服务实例未通过功能验证的情况下,确定所述任一服务实例未升级成功并将升级后的所述任一服务实例恢复至升级前版本。The restoring unit 1014 is configured to, in the case that any of the service instances after the upgrade fails the functional verification, determine that the any of the service instances has not been successfully upgraded and restore the any of the upgraded service instances to those before the upgrade Version.
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。For details of the implementation process of the functions and functions of each unit in the above device, please refer to the implementation process of the corresponding steps in the above method, which will not be repeated here.
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。As for the apparatus embodiments, since they basically correspond to the method embodiments, reference may be made to the partial descriptions of the method embodiments for related parts. The device embodiments described above are only illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in One place, or it can be distributed over multiple network elements. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of the present application. Those of ordinary skill in the art can understand and implement it without creative effort.
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由微服务升级装置的处理器执行以实现如上述实施例中任一所述的方法,比如该方法可以包括:In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions, such as a memory including instructions, is also provided, and the instructions can be executed by a processor of a microservice upgrade apparatus to implement any of the foregoing embodiments. The method, for example, the method may include:
确定待升级的目标服务,所述目标服务包含一组微服务,且所述目标服务对应的多个服务实例分别连接至负载均衡设备,以由所述多个服务实例对所述负载均衡设备分发的服务请求进行负载分担;依次对所述目标服务对应的各个服务实例进行升级处理;其中,针对任一服务实例进行升级处理,包括:断开所述任一服务实例与所述负载均衡设备之间的连接,对所述任一服务实例中的各个微服务进行升级,并将升级成功的所述任一服务实例重新连接至所述负载均衡设备。Determine the target service to be upgraded, the target service includes a set of microservices, and multiple service instances corresponding to the target service are respectively connected to the load balancing device, so that the multiple service instances distribute to the load balancing device perform load sharing on the service requests of the target service; perform upgrade processing on each service instance corresponding to the target service in turn; wherein, performing the upgrade processing on any service instance includes: disconnecting the any service instance from the load balancing device upgrade each microservice in any of the service instances, and reconnect the successfully upgraded any of the service instances to the load balancing device.
其中,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等,本申请并不对此进行限制。Wherein, the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., which is not limited in this application.
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。The above descriptions are only preferred embodiments of the present application, and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the present application. within the scope of protection.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210166683.2ACN114546650A (en) | 2022-02-23 | 2022-02-23 | Method and device for upgrading microservice |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210166683.2ACN114546650A (en) | 2022-02-23 | 2022-02-23 | Method and device for upgrading microservice |
| Publication Number | Publication Date |
|---|---|
| CN114546650Atrue CN114546650A (en) | 2022-05-27 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210166683.2APendingCN114546650A (en) | 2022-02-23 | 2022-02-23 | Method and device for upgrading microservice |
| Country | Link |
|---|---|
| CN (1) | CN114546650A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114936070A (en)* | 2022-06-01 | 2022-08-23 | 山东中创软件商用中间件股份有限公司 | Service rolling release method, device and medium based on container cluster scheduling technology |
| CN115344286A (en)* | 2022-08-19 | 2022-11-15 | 陕西巨数智能科技研究院有限公司 | Micro-service system progressive updating device and method based on batch upgrading |
| CN116016649A (en)* | 2022-12-28 | 2023-04-25 | 桂林移远通信技术有限公司 | Data processing method, device, electronic equipment and storage medium |
| WO2025009711A1 (en)* | 2023-07-04 | 2025-01-09 | 삼성전자 주식회사 | Communication device and control method thereof |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170046146A1 (en)* | 2015-08-11 | 2017-02-16 | International Business Machines Corporation | Autonomously healing microservice-based applications |
| CN112130880A (en)* | 2020-09-27 | 2020-12-25 | 平安医疗健康管理股份有限公司 | Micro-service publishing method and device, computer equipment and storage medium |
| CN113342379A (en)* | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | Micro-service upgrading method and device, electronic equipment and storage medium |
| WO2021179493A1 (en)* | 2020-03-09 | 2021-09-16 | 平安科技(深圳)有限公司 | Microservice-based load balancing method, apparatus and device, and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170046146A1 (en)* | 2015-08-11 | 2017-02-16 | International Business Machines Corporation | Autonomously healing microservice-based applications |
| WO2021179493A1 (en)* | 2020-03-09 | 2021-09-16 | 平安科技(深圳)有限公司 | Microservice-based load balancing method, apparatus and device, and storage medium |
| CN112130880A (en)* | 2020-09-27 | 2020-12-25 | 平安医疗健康管理股份有限公司 | Micro-service publishing method and device, computer equipment and storage medium |
| CN113342379A (en)* | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | Micro-service upgrading method and device, electronic equipment and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114936070A (en)* | 2022-06-01 | 2022-08-23 | 山东中创软件商用中间件股份有限公司 | Service rolling release method, device and medium based on container cluster scheduling technology |
| CN115344286A (en)* | 2022-08-19 | 2022-11-15 | 陕西巨数智能科技研究院有限公司 | Micro-service system progressive updating device and method based on batch upgrading |
| CN116016649A (en)* | 2022-12-28 | 2023-04-25 | 桂林移远通信技术有限公司 | Data processing method, device, electronic equipment and storage medium |
| WO2025009711A1 (en)* | 2023-07-04 | 2025-01-09 | 삼성전자 주식회사 | Communication device and control method thereof |
| Publication | Publication Date | Title |
|---|---|---|
| US11258725B2 (en) | Distributed stream-based database triggers | |
| US11194566B1 (en) | Decentralized, cluster-managed deployment of software updates in a multi-cluster environment | |
| CN114546650A (en) | Method and device for upgrading microservice | |
| US9960963B2 (en) | Dynamic client fail-over during a rolling patch installation based on temporal server conditions | |
| US9413604B2 (en) | Instance host configuration | |
| CN102622298B (en) | Software testing system and method | |
| CN109120678A (en) | The method and apparatus of service tray for distributed memory system | |
| US12073258B2 (en) | Configuration map based sharding for containers in a machine learning serving infrastructure | |
| RU2571726C2 (en) | System and method of checking expediency of installing updates | |
| US8966025B2 (en) | Instance configuration on remote platforms | |
| CN104360952B (en) | A kind of software testing system and method | |
| US20130346607A1 (en) | System and method for supporting implicit versioning in a transactional middleware machine environment | |
| KR20150110688A (en) | Instance host configuration | |
| US11113186B1 (en) | Testing and publishing of resource handlers in a cloud environment | |
| US11341032B1 (en) | Testing in a disaster recovery computer system | |
| US11748686B1 (en) | Automated onboarding service | |
| US20180307575A1 (en) | Automated test generation for multi-interface and multi-platform enterprise virtualization management environment | |
| CN111581077A (en) | Intelligent contract testing method and device | |
| CN112653665A (en) | Data isolation interaction method and system based on cloud service | |
| US11847027B2 (en) | Automated configuration conflict resolution and lightweight restoration | |
| WO2023100062A1 (en) | Managing nodes of a dbms | |
| CN105827744A (en) | Data processing method of cloud storage platform | |
| US11330068B2 (en) | Methods and systems for recording user operations on a cloud management platform | |
| CN118034588A (en) | Data migration method, device, computer equipment and readable storage medium | |
| CN117076325A (en) | Grayscale testing method, device, system and server based on workflow engine |
| 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 |