A microservice management system, deployment method and related devices

By obtaining the load information and transmission delay of microservice entity devices in the microservice management system and generating adaptive deployment configurations, the global business response time optimization problem of microservice management system in the cloud-edge collaborative environment is solved, and lower business response time and higher system efficiency are achieved.

CN111522661BActive Publication Date: 2025-07-08TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010322014.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-22
Publication Date
2025-07-08
Estimated Expiration
2040-04-22

AI Technical Summary

Technical Problem

In the cloud-edge collaborative environment, existing microservice management systems cannot effectively optimize global business response time, especially when microservice entity devices are distributed in multiple locations in the edge cloud and the central cloud, deployment adjustments cannot take into account both device load and network latency.

Method used

By obtaining the service processing information of the target service chain, combining the load information and transmission delay of each microservice entity device, an adaptive deployment update configuration is generated, and the deployment location of the microservice entity device is adjusted to optimize the service response time.

Benefits of technology

By adaptively adjusting the deployment location of microservice entity devices, the service response time of the target service chain is reduced and the overall performance and efficiency of the system are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111522661B_ABST
    Figure CN111522661B_ABST
Patent Text Reader

Abstract

An embodiment of the present application discloses a microservice management system, a deployment method, and related devices. The method includes: determining service processing information of a target service chain based on load information of each target microservice entity device in the target service chain and transmission delays between each target microservice entity device, generating a deployment update configuration according to the service processing information of the target service chain, and adjusting the deployment locations of the target microservice entity devices on the target service chain according to the deployment update configuration. The embodiment of the present application can adaptively and flexibly adjust the deployment of the target microservice entity devices in combination with the load conditions of each target microservice entity device on the target service chain and the transmission delays between each target microservice entity device, which is beneficial to reducing the service response time of the target service chain after deployment adjustment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technologies, specifically to the field of computer technologies, and particularly to a microservice management system, a microservice deployment method, a microservice deployment device, a microservice deployment device, and a computer storage medium. Background Art

[0002] Traditional software systems usually place all their functions in a single process, and this architecture is called a monolithic architecture. The monolithic architecture works well when the system scale is relatively small. However, as the system scale expands, more and more problems emerge, mainly including: developers modify code in the same project, resulting in low development efficiency; a large amount of code makes the system difficult to maintain; functional coupling makes it difficult to modify software functions; slow deployment speed, poor stability, and difficulty in scaling on demand. To solve the above problems existing in the monolithic architecture, the microservice architecture emerged. The core idea of the microservice architecture is to disassemble the monolithic program as fine-grained as possible, develop a single application using multiple microservices, each microservice runs in its own process, these microservices are built based on business capabilities, and can be independently deployed through an automated deployment mechanism, can be implemented using different programming languages, adopt different data storage technologies, and maintain a minimum of centralized management. In a system adopting the microservice architecture (hereinafter referred to as a microservice management system), how to deploy each microservice is an important issue directly affecting the global business response time.

[0003] Currently, the microservice management system includes a microservice application center and a microservice task center mainly for the centralized cloud computing environment. However, when the microservice application center and the microservice task center adjust the deployment of microservices, they often cannot optimize the global business response time. Therefore, how to deploy each microservice in the microservice architecture and reduce the global business response time has become an urgent problem to be solved. Summary of the Invention

[0004] Embodiments of this application provide a microservice management system, a deployment method, and related devices, which can adaptively and flexibly adjust the deployment of target microservice entity devices in combination with the load conditions of each target microservice entity device on the target service chain and the transmission delay between each target microservice entity device.

[0005] On the one hand, embodiments of this application provide a microservice management system. The microservice management system includes a microservice deployment device and multiple computing resource pools, and each computing resource pool deploys microservice entity devices; there is a running target service chain in the microservice management system, the target service chain includes at least one target microservice entity device, and the at least one target microservice entity device comes from at least one computing resource pool; wherein,

[0006] A microservice deployment device is used to obtain the business processing information of a target service chain, generate a deployment update configuration according to the business processing information of the target service chain, and adjust the deployment locations of target microservice entity devices on the target service chain according to the deployment update configuration; the business processing information at least includes the business response time, and the business response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device; the above deployment update configuration includes adjustment information about the deployment locations of each target microservice entity.

[0007] On the other hand, an embodiment of the present application provides a microservice deployment method, which is executed by a microservice deployment device in a microservice management system. The microservice management system includes multiple computing resource pools and a running target service chain, and microservice entity devices are deployed in each computing resource pool; the target service chain includes at least one target microservice entity device, and at least one target microservice entity device comes from at least one computing resource pool; the method includes:

[0008] Obtain the business processing information of the target service chain; the business processing information at least includes the business response time, and the business response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device;

[0009] Generate a deployment update configuration according to the business processing information of the target service chain, and the deployment update configuration includes adjustment information about the deployment locations of target microservice entity devices on the target service chain;

[0010] Adjust the deployment locations of target microservice entity devices on the target service chain according to the deployment update configuration.

[0011] On yet another aspect, an embodiment of the present application provides a microservice deployment device. The deployment device is configured in a microservice deployment device in a microservice management system. The microservice management system includes multiple computing resource pools and a running target service chain, and microservice entity devices are deployed in each computing resource pool; the target service chain includes at least one target microservice entity device, and at least one target microservice entity device comes from at least one computing resource pool; the deployment device includes:

[0012] An acquisition unit for obtaining the business processing information of the target service chain; the business processing information at least includes the business response time, and the business response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device;

[0013] A processing unit, configured to generate a deployment update configuration according to the service processing information of a target service chain, where the deployment update configuration includes adjustment information about the deployment location of a target microservice entity device on the target service chain;

[0014] An adjustment unit, configured to adjust the deployment location of the target microservice entity device on the target service chain according to the deployment update configuration.

[0015] Correspondingly, an embodiment of the present application further provides a microservice deployment device, which is applied to a microservice management system. The microservice management system includes multiple computing resource pools and a running target service chain. Each computing resource pool deploys microservice entity devices; the target service chain includes at least one target microservice entity device, and at least one target microservice entity device comes from at least one computing resource pool; the microservice deployment device includes a processor and a storage device; the storage device is configured to store program instructions; the processor, when calling the program instructions, is configured to perform the following steps:

[0016] Obtain the service processing information of the target service chain; the service processing information at least includes a service response time, and the service response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device;

[0017] Generate a deployment update configuration according to the service processing information of the target service chain, where the deployment update configuration includes adjustment information about the deployment location of the target microservice entity device on the target service chain;

[0018] Adjust the deployment location of the target microservice entity device on the target service chain according to the deployment update configuration.

[0019] Correspondingly, an embodiment of the present application further provides a computer storage medium, in which program instructions are stored, and when the program instructions are executed, they are used to implement the above-mentioned methods.

[0020] The microservice deployment device in the embodiment of the present application can determine the service processing information of the target service chain based on the load information of each target microservice entity device in the target service chain and the transmission delay between each target microservice entity device, generate a deployment update configuration according to the service processing information of the target service chain, and adjust the deployment location of the target microservice entity device on the target service chain according to the deployment update configuration. During the process of adjusting the deployment location of the target microservice entity device, the deployment of the target microservice entity device can be adaptively and flexibly adjusted in combination with the load conditions of each target microservice entity device and the transmission delay between each target microservice entity device, which is beneficial to reducing the service response time of the target service chain after the deployment adjustment. Description of the Drawings

[0021] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0022] Figure 1a It is a schematic structural diagram of a microservice application center in the prior art;

[0023] Figure 1b It is a schematic structural diagram of a microservice task center in the prior art;

[0024] Figure 1c It is a schematic structural diagram of a microservice management system provided by an embodiment of the present application;

[0025] Figure 1d It is a schematic structural diagram of another microservice management system provided by an embodiment of the present application;

[0026] Figure 2 It is an interactive process schematic diagram of a microservice deployment method provided by an embodiment of the present application;

[0027] Figure 3 It is a process schematic diagram of a microservice deployment method provided by an embodiment of the present application;

[0028] Figure 4 It is a directed acyclic graph corresponding to a target service chain provided by an embodiment of the present application;

[0029] Figure 5 It is a call relationship between microservices provided by an embodiment of the present application;

[0030] Figure 6 It is a schematic diagram of a target service chain before deployment location adjustment provided by an embodiment of the present application;

[0031] Figure 7 It is a schematic diagram of a target service chain after deployment location adjustment provided by an embodiment of the present application;

[0032] Figure 8 It is another schematic diagram of a target service chain before deployment location adjustment provided by an embodiment of the present application;

[0033] Figure 9 It is yet another schematic diagram of a target service chain after deployment location adjustment provided by an embodiment of the present application;

[0034] Figure 10It is a schematic structural diagram of a microservice deployment device provided by an embodiment of the present application;

[0035] Figure 11 It is a schematic structural diagram of a microservice deployment device provided by an embodiment of the present application. Specific embodiments

[0036] Next, the technical solutions in the embodiments of the present application will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.

[0037] Currently, the microservice management system includes a microservice application center and a microservice task center mainly for the centralized cloud computing environment. Refer to Figure 1a the schematic structural diagram of the microservice application center shown. The microservice application center processes client requests by dynamically creating microservice entity devices. It is implemented based on the synchronous request / response model. The microservice entity device provides directly callable APIs (Application Programming Interfaces) to the client based on the HTTP (Hyper Text Transfer Protocol) protocol. The microservice application center usually realizes the distributed operation of each microservice entity device by means of containers. Each microservice entity device runs in a container environment and must be registered in the service registration entity, indicating the specific network location (IP (Internet Protocol) address and port) of its service process. Among them, the microservice entity device can be understood as a service process independently deployed in each container, and each service process is used to provide a service. Taking cloud gaming as an example, the service can be a screen rendering service, a game user permission authentication service, etc.; taking the Internet of Vehicles as an example, the service can be a road information collection service, an Internet of Vehicles user permission authentication service, etc.

[0038] Among them, cloud gaming, also known as game on demand, is an online game technology based on cloud computing technology. Cloud gaming technology enables lightweight devices with relatively limited graphics processing and data computing capabilities to run high-quality games. In the cloud gaming scenario, the game does not run on the player's game terminal, but on the cloud server. The cloud server renders the game scene into a video and audio stream and transmits it to the player's game terminal through the network. The player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain the player's input instructions and send them to the cloud server. In the embodiment of this application, the server for running the microservice entity device is the cloud server.

[0039] The microservice application center needs to continuously run in a shared resource pool and, according to the traffic situation of client requests, dynamically increase or decrease microservice entity devices through a container orchestration tool. To achieve dynamic operations on containers, the microservice application center needs to deploy a load balancer at the front end of the system. When a client request arrives, the load balancer reads the request first and, according to the registration information in the service registration entity, routes the request directly to an available microservice entity device according to the principle of equal load sharing among each microservice entity device. The load balancer tracks the response situation of each called microservice entity device in real time. If it finds that a call request has not been responded to, it will distribute the request to another available microservice entity device. In addition, the load balancer can also interact with the container orchestrator to obtain real-time monitoring data of container processes and, through a certain warning method, remove overloaded microservice entity devices from the scheduling list in advance and apply to the container orchestrator to add new containers to run newly added microservice entity devices.

[0040] See Figure 1b the structural schematic diagram of the microservice task center shown. The microservice task center executes the tasks of microservice entity devices in the form of event triggering by starting on demand. Each microservice entity device depends on the smallest base image layer in the container to achieve fast startup. The microservice task center is implemented according to the event-driven model and depends on a task message queue for asynchronous workflow processing. The client request is stored in the task message queue as a task event, and the microservice entity device obtains the client request from the message queue and processes it. The client request will be saved in the task message queue until it is processed.

[0041] The microservice task center executes tasks according to the priority queue. The task scheduler in the message queue dynamically assigns execution tasks to microservice entity devices according to the load conditions of each microservice entity device and the priority of client requests. After each microservice entity device is started, it needs to register with the task scheduler and report its workload situation in real time.

[0042] Microservice tasks use a container orchestrator to uniformly manage the container resources in the resource pool. By interacting with the container orchestrator, the task scheduler can dynamically change the number of containers to support the expansion or contraction of microservice entity devices. In addition, the container orchestrator can inform the task scheduler of the resource consumption of each container, enabling the task scheduler to remove overloaded microservice entity devices from the task scheduling list in advance and add new microservice entity devices.

[0043] Practice has found that when the microservice application center and the microservice task center currently adjust the deployment of microservices, they often cannot optimize the global response time for business systems composed of service chains. Especially in the current business development trend of cloud-edge collaboration (i.e., the collaboration between the edge cloud environment and the central cloud environment), multiple microservice entity devices that make up a complete business system may be distributed in multiple locations such as the edge cloud environment and the central cloud environment. Its global business response is not only related to the load conditions of the microservice entity devices but also related to the network latency between the microservice entity devices. However, neither the microservice application center nor the microservice task center has considered this new form of business system.

[0044] An embodiment of this application proposes a microservice management system. Please refer to Figure 1c , the microservice management system includes a microservice deployment device 10 and multiple computing resource pools. Each computing resource pool deploys microservice entity devices 11. The microservice management system includes a running target service chain, and the target service chain includes at least one target microservice entity device. The at least one target microservice entity device comes from at least one computing resource pool. The computing resource pool provides a business processing environment for the microservice entity devices. It can be composed of multiple edge data center nodes scattered at the network edge and a centralized data center in the central cloud environment. Different computing resource pools are interconnected through a network. The type of the computing resource pool can include a central computing resource pool or an edge computing resource pool. The central computing resource pool is located in the central cloud environment, and the edge computing resource pool is located in the edge cloud environment. The above microservice deployment device 10 can be a server, which can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Figure 1cThe client in [description] can be terminal devices such as smart phones, tablet computers, laptop computers, desktop computers, smart speakers, smart watches, etc., or can be applications running on terminal devices (such as game applications, vehicle networking applications) or network platforms, but is not limited thereto. The client and the server can be directly or indirectly connected through wired or wireless communication methods, which are not limited in this application.

[0045] Among them, the above-mentioned microservice deployment device can be used to obtain the business processing information of the target service chain, generate a deployment update configuration according to the business processing information of the target service chain, and adjust the deployment location of the target microservice entity device on the target service chain according to the deployment update configuration; the above-mentioned business processing information at least includes the business response time, which is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device, and the deployment update configuration includes adjustment information about the deployment location of each target microservice entity. It can be seen that in the process of adjusting the deployment location of each target microservice entity device in the target service chain by the microservice management system proposed in the embodiments of the present application, the deployment of the target microservice entity device can be adaptively and flexibly adjusted in combination with the load situation between each target microservice entity device and the transmission delay between each target microservice entity device, which is beneficial to reducing the business response time of the target service chain after the deployment adjustment.

[0046] Please refer to Figure 1d , the above-mentioned microservice deployment device may include a central decision-making module 12, a service deployment execution module 13, a plurality of business load collection modules 14, a plurality of network quality monitoring modules 15, and a plurality of business request distribution modules 16. Among them, both the central decision-making module 12 and the service deployment execution module 13 are set in the central cloud environment. The central decision-making module 12 is used to obtain the business processing information of the target service chain and generate a deployment update configuration according to the business processing information of the target service chain; the service deployment execution module 13 is used to adjust the deployment location of each target microservice entity device on the target service chain according to the deployment update configuration.

[0047] A business load collection module 14, a network quality monitoring module 15, and a service request distribution module 16 are respectively provided in each computing resource pool. The business load collection module 14 is used to collect the load information of the microservice entity devices in the computing resource pool to which it belongs, and report the collected load information to the central decision-making module 12; the network quality monitoring module 15 is used to collect the transmission delay between the microservice entity devices in the computing resource pool to which it belongs, and report the collected transmission delay to the central decision-making module 12; the service request distribution module 16 is used to maintain the request forwarding table in the microservice management system. When receiving a service request sent by a client, it can distribute the service request to the specified microservice entity device based on the request forwarding table. Further, the request forwarding table can be updated according to the deployment update configuration later, and the service request can be forwarded to the microservice entity device that performs service processing in the computing resource pool based on the updated request forwarding table. Among them, the reporting methods for the business load collection module 14 to report load information to the central decision-making module 12 and the network quality monitoring module 15 to report transmission delay to the central decision-making module can both be real-time reporting or periodic reporting, and the embodiments of the present application do not make specific limitations on this.

[0048] Among them, each service request distribution module 16 can be used to maintain the request forwarding table corresponding to the computing resource pool to which it belongs. Each request forwarding table includes at least one forwarding table entry. Each forwarding table entry includes: a service identifier, a target identifier, and a forwarding weight. The service request distribution module 16 can perform configurable forwarding of service requests based on the request forwarding table. Specifically, the service request distribution module 16 can establish a request forwarding table as shown in Table 1. Among them, the service identifier is used to identify a specific microservice, and the destination identifier is identified by a data combination (IP address, port), which is used to indicate the IP address and working port of the corresponding microservice entity device. The IP address in the table entry can be either the host address in the resource pool where the service request distribution module 16 is located or the host address in other computing resource pools. The forwarding weight is a weight value between 0 and 1, representing the probability of forwarding a service request to the destination address. The central decision-making module 12 can adjust the traffic distribution among different microservice entity devices that provide the same service by adjusting the weight value.

[0049] Table 1

[0050] Entry ID Service Identifier Purpose Representation Forwarding Weight 1 Identifier 1 (IP1, Port 1) Weight 1 2 Identifier 2 (IP2, Port 2) Weight 2

[0051] The update of the entries in the request forwarding table can be triggered by the deployment update configuration sent by the central decision-making module 12 to the service request distribution module 16. When the central decision-making module 12 creates a microservice entity device in the computing resource pool where the service request distribution module 16 is located, the corresponding forwarding table entry will be added to the request forwarding table. When the central decision-making module 12 shuts down a microservice entity device in the computing resource pool where the service request distribution module 16 is located, the corresponding forwarding table entry will be deleted from the request forwarding table.

[0052] In one embodiment, the central decision-making module 12 can be specifically configured to generate the above-mentioned service processing information of the target service chain according to the load information reported by the service load collection module 14 and the transmission delay reported by the network quality monitoring module 15, where the service processing information at least includes the service response time.

[0053] In one embodiment, the central decision-making module 12 can also be specifically configured to construct multiple virtual service chains corresponding to the target service chain. Each virtual service chain includes at least one microservice entity device, and at least one microservice entity device comes from at least one computing resource pool. Each virtual service chain has a virtual service response time. Further, the central decision-making module 12 can obtain the target virtual service chain with the minimum virtual service response time from the multiple virtual service chains. When the service response time of the target virtual service chain is less than the service response time of the target service chain, the deployment update configuration is generated according to the deployment positions of the microservice entity devices in the target virtual service chain. Subsequently, the deployment positions of the target microservice entity devices on the target service chain can be adjusted based on this deployment update configuration. It can be seen that the embodiment of the present application can deploy and adjust the target microservice entity devices in the target service chain based on the target virtual service chain with a smaller service response time, thereby reducing the global service response time of the target service chain.

[0054] As can be seen from the foregoing, the microservice management system proposed in the embodiment of the present application is a cloud-edge collaborative microservice management system. Some services can be completed by the microservice entity devices in the edge cloud environment, without all services being processed by the microservice entity devices in the central cloud environment. Since the edge cloud environment is closer to the client, correspondingly, the microservice entity devices in the edge cloud environment can respond to services faster. Compared with the above-mentioned computing microservice application center and microservice task center for the centralized cloud computing environment, adopting such a cloud-edge collaborative system is beneficial to reducing the global service response time and the computing load of the central cloud environment. Exemplarily, taking cloud games as an example, the services handed over to the edge cloud environment can be, for example, game screen rendering services to make the game screen switching smoother; the services handed over to the central cloud environment can be, for example, user permission verification services to improve the security of user information and the accuracy of permission verification.

[0055] Although the above-mentioned microservice task center can implement business systems spanning edge clouds and central clouds through a distributed message queue, the distributed deployment of the message queue will negatively affect the task scheduling method of the microservice task center based on the priority queue. Since task events are stored in different message queues located in edge clouds and central clouds, and these message queues are controlled by different task schedulers, complex coordination is required among multiple task schedulers to achieve priority scheduling. On the one hand, this will increase the business response time due to the additional coordination between task schedulers. On the other hand, it will also lead to a sharp increase in the microservice monitoring overhead because microservice entity devices need to report their load status to task schedulers distributed everywhere. In the microservice management system proposed in the embodiments of the present application, the scheduling of tasks is completed by the service request distribution module 16 deployed in each computing resource pool based on the request forwarding table, and the request forwarding table is uniformly managed by the central decision-making module 12 located in the central cloud environment. In other words, in the microservice management system of the present application, the scheduling of tasks is essentially uniformly managed by the central decision-making module 12. Compared with the microservice task center, during task scheduling, on the one hand, there is no need for complex coordination among multiple task schedulers, which is beneficial to improving the efficiency of task scheduling; on the other hand, microservice entity devices also do not need to report their load status to task schedulers distributed everywhere, and there is no additional monitoring overhead.

[0056] Based on Figure 1d the microservice management system described above, the embodiments of the present application propose a microservice deployment method, as Figure 2As shown in the figure, the central decision-making module executes step S201 to determine a target virtual chain from multiple virtual service chains. Among them, the target virtual chain is the virtual chain with the minimum virtual service response time among the multiple virtual service chains, and the minimum virtual service response time is less than the service response time of the target service chain. Further, the central decision-making module executes step S202 to generate a deployment update configuration according to the deployment locations of the respective microservice entity devices in the target virtual service chain, and executes step S203 to send a deployment notice carrying the deployment update configuration information to the service deployment execution module; the service deployment execution module can execute step S204 to deploy the respective target microservice entity devices in the target service chain (that is, adjust the deployment locations of the respective target microservice entity devices in the target service chain) according to the deployment update configuration information. Further, after determining that the deployment of the respective target microservice entity devices in the target service chain is completed, the service deployment execution module can execute step S205 to send deployment response information to the central decision-making module. The central decision-making module can determine that the deployment of the respective target microservice entity devices in the target service chain is completed based on the deployment response information, and execute step S206 to configure a new request forwarding table for the service request distribution module corresponding to the computing resource pool where the target microservice entity is deployed. After the above request forwarding table is configured, the deployment of the target microservice entity device is completed for adjustment. Subsequently, each service request distribution module deployed in each computing resource pool can forward the service requests from the client to the specified microservice entity device in its own computing resource pool for processing based on the request forwarding table maintained by itself. It can be seen that the embodiment of the present application can deploy and adjust the respective target microservice entity devices in the target service chain based on the target virtual service chain with a smaller service response time, thereby reducing the global service response time of the target service chain.

[0057] Based on the above description, an embodiment of the present application proposes a microservice deployment method. This microservice deployment method can be executed by the microservice deployment device in the microservice management system mentioned above. The microservice management system includes multiple computing resource pools and a running target service chain. Each computing resource pool deploys microservice entity devices. The target service chain includes at least one target microservice entity device, and the at least one target microservice entity device comes from at least one computing resource pool.

[0058] Please refer to Figure 3 , this microservice deployment method may include the following steps S301 - S303:

[0059] S301, obtain the service processing information of the target service chain, and the service processing information at least includes the service response time.

[0060] Among them, the above service response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device. The microservice deployment device can obtain the load information of the target microservice entities on the target service chain, the transmission delay between the target microservice entity devices, and the call relationship, and generate a DAG (Directed Acyclic Graph) corresponding to the target microservice entities on the target service chain based on the load information of the target microservice entities, the transmission delay between the target microservice entity devices, and the call relationship, and then determine the service response time of the target service chain according to the DAG critical path algorithm.

[0061] Among them, the above load information characterizes the time required for the target microservice entity device to process a single service request, and the above transmission delay characterizes the network transmission time required for data transmission between the target microservice entity devices. Exemplarily, assume that the target microservice entity device includes microservice entity device N (N is an integer greater than 0) and microservice entity device M (M is an integer greater than 0). The above-mentioned directed acyclic running DAG graph generated by the microservice deployment device can be as Figure 4 shown. Vertex N represents that microservice entity device N has completed processing a service request. Among them, vertex 1 represents that a service request from a client user arrives at the system, and vertex 0 represents that the client user receives the service response. The edge <N, M> in the DAG represents that microservice entity device N transfers the processing result to microservice entity device M for further processing. The arrow direction of the edge <N, M> indicates that the processing result of microservice entity device N is further handed over to microservice entity device M for processing. The specific meaning of the value on the edge <N, M> is: C_ M represents the time required for microservice entity device M to complete service processing, and N_ N,M represents the network transmission time required for microservice entity device N to send the processing result to microservice entity device M. C_ M +N_ N,M is the sum of the two. The behavior of microservice entity device N sending the processing result to microservice entity device M is determined by the call relationship between the target microservice entities in the target service chain and is related to the specific business logic. When microservice entity device N and microservice entity device M are deployed in different computing resource pools, N_ N,M is the network transmission delay between the two resource pools. Conversely, N_ N,M is the network transmission delay within a single resource pool.

[0062] Furthermore, the critical path corresponding to the above DAG graph can be determined by using the DAG critical path method, and the values on all the edges of the critical path are summed up, and the sum value obtained is determined as the service response time of the running target service chain.

[0063] S302. Generate a deployment update configuration according to the service processing information of the target service chain. The deployment update configuration includes adjustment information about the deployment locations of the target microservice entity devices on the target service chain.

[0064] The microservice deployment device can construct multiple virtual service chains corresponding to the target service chain. Each virtual service chain includes at least one microservice entity device, and the at least one microservice entity device comes from at least one computing resource pool. Each virtual service chain has a virtual service response time. Further, the target virtual service chain with the minimum virtual service response time can be obtained from the multiple virtual service chains. When the service response time of the target virtual service chain is less than the service response time of the target service chain, the deployment update configuration is generated according to the deployment locations of the microservice entity devices in the target virtual service chain.

[0065] Among them, in one embodiment, the service response time of the target virtual service chain being less than the service response time of the target service chain means that the difference between the service response time of the target service chain and the service response time of the target virtual service chain is greater than a threshold. Exemplarily, assume that the service response time of the running target service chain is Ts (a number greater than 0), the minimum virtual service response time is Tv (a number greater than 0), and the threshold is T (a number greater than or equal to 0). The microservice deployment device can determine that the service response time of the target virtual service chain is less than the service response time of the target service chain when (Ts - Tv) is greater than T.

[0066] Or, in another embodiment, the service response time of the target virtual service chain being less than the service response time of the target service chain can also mean that the virtual service response time of the target virtual service chain is lower than the service response time of the target service chain by a certain threshold (for example, Tv is 10% less than Ts).

[0067] In one embodiment, when there are multiple target virtual service chains with the minimum virtual service response time, the microservice deployment device can generate a deployment update configuration according to the deployment locations of the microservice entity devices in any one of the multiple target virtual service chains. Or, it can detect the resource consumption information of each target virtual server in each target virtual service chain for the computing resource pool, and based on this resource consumption information, determine the target virtual service chain with the least resource consumption from the multiple target virtual service chains, and then generate a deployment update configuration according to the deployment locations of the microservice entity devices in the target virtual service chain with the least resource consumption.

[0068] Among them, the specific implementation method of the above-mentioned microservice deployment device to construct a virtual service chain corresponding to the target service chain can be: detecting the initial deployment mode of the target microservice entity device on the target service chain, and constructing a virtual service chain corresponding to the target service chain based on the initial deployment mode of the target microservice entity device on the target service chain, and the deployment mode of the microservice entity on the virtual service chain is different from the initial deployment mode of the target microservice entity device on the target service chain. Furthermore, since the target microservice entity device on the target service chain is the same as the microservice entity on the corresponding virtual service chain, only the deployment location may be different, in this case, when the virtual service chain corresponding to the target service chain is constructed, the virtual service response time of the virtual service chain can also be determined based on the load information of each microservice entity device in the virtual service chain and the transmission delay between each microservice entity device in a similar manner to the above-mentioned determination of the service response time of the target service chain.

[0069] For example, the running target service chain includes microservice entity devices A, B, and C, and the calling relationship between the three is: A→B→C. There are two resource pools in the microservice management system, namely computing resource pool 1 and computing resource pool 2. The initial deployment mode of the running target service chain is: microservice entity device A runs in computing resource pool 1, and other microservice entity devices run in computing resource pool 2. Assume that the deployment mode of the virtual service chain is: microservice entity devices A and B run in computing resource pool 1, and other microservice entity devices run in computing resource pool 2. In this case, it can be seen from the above content that when microservice entity device N and microservice entity device M are deployed in different computing resource pools, N_ N,M is the network transmission delay between the two resource pools. Therefore, the network transmission delay between microservice entity devices B and C in the virtual service chain is equivalent to the network transmission delay between computing resource pool 1 and computing resource pool 2. The network transmission delay between computing resource pool 1 and computing resource pool 2 can be directly obtained by the microservice deployment module; the deployment locations of microservice entity devices A and B are in different computing resource pools on the running target service chain, and in the same computing resource pool 1 on the virtual service chain. It can be seen that the network transmission delay between microservice entity devices A and B on the target service chain is different from the network transmission delay on the virtual service chain. In this case, the microservice deployment device obtains the network transmission delay pre-set for computing resource 1, and determines the network transmission delay set for computing resource 1 as the network transmission delay between microservice entity devices A and B on the virtual service chain. Furthermore, the virtual service response time of the virtual service chain can be determined based on the load information of each microservice entity device in the virtual service chain and the transmission delay between each microservice entity device.

[0070] In one embodiment, the microservice deployment device can list all the deployment modes of the target microservice entity devices on the target service chain in each computing resource pool through an exhaustive method, and construct a virtual service chain with the deployment mode of the target microservice entity devices being the target deployment mode, where the target deployment mode is the deployment mode other than the initial deployment mode among all the deployment modes.

[0071] Exemplarily, the running target service chain includes target microservice entities A, B, and C. There are two resource pools in the microservice management system, namely computing resource pool 1 and computing resource pool 2. The initial deployment mode of the running target service chain is that target microservice entity A runs in computing resource pool 1, and other target microservice entities run in computing resource pool 2. All the deployment modes of all the target microservice entity devices on the target service chain in computing resource pool 1 and computing resource pool 2 are listed through an exhaustive method. Further, the initial deployment mode of the currently running target service chain is deleted, and the target deployment mode of the constructed virtual service chain can be shown in Table 2.

[0072] Table 2

[0073]

[0074] S303. Adjust the deployment locations of the target microservice entity devices on the target service chain according to the deployment update configuration.

[0075] Among them, the types of the above computing resource pools can include a central computing resource pool or an edge computing resource pool. The central computing resource pool is set in the central cloud environment, and the edge computing resource pool is set in the edge cloud environment. The target microservice entity devices on the target service chain come from at least one computing resource pool. The microservice deployment device can adjust the deployment of the target microservice entity devices on the target service chain in the central computing resource pool and / or the edge computing resource pool according to the deployment update configuration. In one embodiment, the adjustment information included in the deployment update configuration of the microservice deployment device can be used to indicate adding or deleting the deployment of one or more of the target microservice entity devices in the target computing resource pool, and the microservice deployment device can add or delete the deployment of one or more of the target microservice entity devices in the target computing resource pool based on the indication of the adjustment information. For example, if the adjustment information indicates adding microservice entity device A in central computing resource pool 1, then the microservice deployment device can add the deployment of microservice entity device A in central computing resource pool 1 based on the indication of the adjustment information.

[0076] Further, after the microservice deployment device adjusts the deployment of the target microservice entity device on the target service chain in the central computing resource pool and / or the edge computing resource pool according to the deployment update configuration, if it is detected that the deployment location of the initial microservice entity device used to process the service request first on the target service chain is adjusted from the edge computing resource pool to the central computing resource pool, a request forwarding notification may be sent to the microservice deployment device deployed in the edge computing resource pool. The request forwarding notification is used to instruct the microservice deployment device deployed in the edge computing resource pool to forward the service request to the microservice deployment device deployed in the central computing resource pool after receiving the service request. Further, the microservice deployment device deployed in the central computing resource pool may distribute the service request to the initial microservice entity device for processing by the initial microservice entity device.

[0077] It can be understood that the microservice management system of the embodiments of the present application may include multiple microservice deployment devices. The microservice deployment device deployed in the central cloud environment may be used to execute the above steps S301 to S303. In addition, at least one microservice deployment device may be deployed for each computing resource pool. Among them, at least one microservice deployment device corresponding to each computing resource pool may include a first type of deployment device and a second type of deployment device. The first type of deployment device may be used to deploy containers for running microservice entity devices, so that the microservice entity devices can run in a container environment. The second type of deployment device may be used to manage the corresponding computing resource pool, which is equivalent to a management server. The management may include maintaining a request forwarding table corresponding to the computing resource pool, forwarding service requests (for example, distributing service requests to microservice entity devices in the corresponding computing resource pool based on the request forwarding table, and forwarding service requests to microservice deployment devices deployed in other computing resource pools based on the indication of the request forwarding notification sent by the microservice deployment device located in the central cloud environment after receiving the service request), and managing containers (for example, adding or deleting containers in the corresponding computing resource pool).

[0078] In one embodiment, before generating a deployment update configuration according to the deployment locations of the microservice entity devices in the target virtual service chain, the microservice deployment device may also compare the deployment locations of the microservice entity devices in the target virtual service chain with the deployment locations of the target microservice entity devices in the target service chain. If the deployment locations of the two are different, the step of generating a deployment update configuration according to the deployment locations of the microservice entity devices in the target virtual service chain is performed. Among them, the different deployment locations of the two can be understood as the different deployment locations of the target virtual service chain and the target service chain. Specifically, after comparing the deployment locations of the microservice entity devices in the target virtual service chain with the deployment locations of the target microservice entity devices in the target service chain, if it is found that the deployment locations of the microservice entity devices providing the same microservice on the target virtual service chain and on the target service chain are different, it can be determined that the deployment locations of the target virtual service chain and the target service chain are different. For example, if the deployment location of the microservice entity device providing the same microservice 1 is in the central computing resource pool on the target virtual service chain, and the deployment location of the microservice entity device providing the same microservice 1 is in the edge computing resource pool on the target service chain, then it can be determined that the corresponding deployment locations of the target virtual service chain and the target service chain are different.

[0079] In one embodiment, each computing resource pool corresponds to a request forwarding table. Each request forwarding table includes forwarding table entries corresponding to the microservice entity devices in the computing resource pool to which it belongs, and forwarding table entries of the microservice entity devices that have a call relationship with the microservice entity devices in the computing resource pool to which it belongs. Among them, each request forwarding table includes at least one forwarding table entry. Each forwarding table entry includes: a service identifier, a target identifier, and a forwarding weight. The microservice deployment device can update the request forwarding table according to the deployment update configuration.

[0080] Further, when a service request is received, the updated request forwarding table can be used to forward the service request to the microservice entity device that performs service processing in the computing resource pool.

[0081] Among them, the above deployment update configuration may also include the first configuration information of the target microservice entity devices with different deployment locations obtained after comparing the deployment locations of the microservice entity devices in the target virtual service chain with the deployment locations of the target microservice entity devices in the target service chain. The first configuration information includes the service identifier of the target microservice entity device with different deployment locations, its corresponding destination identifier on the target virtual chain, and the forwarding weight for forwarding the service request to it based on the destination identifier. It may also include the second configuration information of the microservice entity devices that have a call relationship with the target microservice entity devices with different deployment locations. The microservice deployment device can update the request forwarding table based on the above first configuration information and second configuration information.

[0082] Exemplarily, taking the process of migrating microservice entity devices from a central computing resource pool to an edge computing resource pool as an example, see Figures 5 - 7 As shown, assume that the microservice management system includes 3 edge computing resource pools (numbered 1 to 3), 1 central computing resource pool, and the edge computing resource pools and the central computing resource pool are interconnected through a network. The system business logic is composed of Figure 5 the call relationships shown, and the entire business logic consists of 7 microservices (numbered 1 to 7); Figure 6 It includes the location deployment images 60 of each target microservice entity before deployment adjustment and the request forwarding tables 61 corresponding to the edge computing pools. From Figure 6 it can be seen that at the initial stage of system operation, each edge computing resource pool has 2 target microservice entity devices to run microservice 1 and microservice 7, and the remaining microservices all run in the target microservice entity devices provided by the central computing resource pool. There are a total of 3 running target service chains (numbered 1 to 3) in the entire system. Since the microservices provided by each edge computing resource pool are the same, correspondingly, the request forwarding tables corresponding to each edge computing pool are also the same. Figure 7 It includes the location deployment images 70 of each target microservice entity after deployment adjustment and the request forwarding table 71 corresponding to edge computing resource pool 1.

[0083] The microservice deployment device can obtain the load information of each target microservice entity device on each target chain and the transmission delay between each target microservice entity device, and calculate the business response time of each target service chain using the DAG critical path method. Assume that the calculated business response times of each target service chain are Ts_1 = Ts_2 = Ts_3 = 2 seconds respectively.

[0084] Furthermore, for each existing target service chain, the microservice deployment device generates 127 virtual service chains respectively, and calculates the business response time of each target service chain using the DAG critical path method based on the above-mentioned collected load information and transmission delay. For the existing target service chains, a certain deployment method in the above virtual service chains has the minimum business response time, and its values are Tv_1 = Tv_2 = Tv_3 = 2.3 seconds respectively. Since the business response times of the existing target service chains are all lower than the virtual service chain response times, the microservice deployment device will not adjust the deployment of the microservice entity devices.

[0085] However, as the system runs, assume that the network connection quality between the edge computing resource pool 1 and the central computing resource pool deteriorates. After calculation, the microservice deployment device finds that Ts_1 = 3.7 seconds, while for the target virtual service chain among the above 127 virtual service chains (the deployment method corresponding to this target virtual service chain is that microservice entity 1 is deployed in the edge computing resource pool 1, and the deployment locations of the remaining microservice entities are the same as those on the target service chain numbered 1), the minimum service response time Tv_1 = 2.5 seconds. In this case, the microservice deployment device can generate a deployment update configuration based on the deployment locations of the microservice entity devices in the target virtual service chain, and adjust the deployment locations of the target microservice entity devices on the target service chain according to the deployment update configuration.

[0086] Specifically, the above adjustment can be to create a microservice entity device in the edge computing resource pool 1 to run microservice 2, and update the request forwarding table corresponding to the edge computing resource pool 1. The update of the request forwarding table corresponding to the edge computing resource pool 1 includes: modifying one entry in the forwarding table to forward requests for microservice 2 to the local microservice entity device. In addition, adding one entry in the forwarding table to forward requests for microservice 5 to the central computing resource pool, because the newly added microservice 2 locally needs to call microservice 5 deployed in the central computing resource pool.

[0087] It can be seen from the request forwarding table 71 corresponding to the edge computing resource pool 1 that the request forwarding table 71 is obtained by the microservice deployment device updating the request forwarding table 61 based on the first configuration information (service identifier of the microservice entity device 2, destination identifier corresponding to the microservice entity device 2 on the target virtual chain, and forwarding weight for forwarding service requests based on the destination identifier) and the second configuration information (service identifier of the microservice entity device 5, destination identifier corresponding to the microservice entity device 5 on the target virtual chain, and forwarding weight for forwarding service requests based on the destination identifier) respectively corresponding to the microservice entity device 2 and the microservice entity device 5. Among them, the microservice entity device 2 can be understood as the target microservice entity device with different deployment locations obtained after comparing the deployment locations of the microservice entity devices in the target virtual service chain with the deployment locations of the target microservice entity devices in the target service chain, and the microservice entity device 5 can be understood as the microservice entity device having a call relationship with the microservice entity device 2.

[0088] Further, after the above operations are completed, the target service chain numbered 1 in the microservice management system changes, and the changed target service chain operates as follows: Microservices 1-2 and 7 are executed in Edge Computing Resource Pool 1, and then the processing result of Microservice 2 is transmitted back to the Central Computing Resource Pool through the network. Finally, after microservices 3-6 in the Central Computing Resource Pool complete the business processing, Microservice 7 returns the final result to the client.

[0089] Exemplarily, taking the process of migrating microservice entity devices from the edge computing resource pool to the central computing resource pool as an example, see Figure 5 , Figure 8 and Figure 9 As shown, assume that the microservice management system includes 3 edge computing resource pools (numbered 1-3), 1 central computing resource pool, and the edge computing resource pools and the central computing resource pool are interconnected through the network. The system business logic is composed of the call relationships shown in Figure 5 As shown, and the entire business logic is composed of 7 microservices (numbered 1-7); as Figure 8 As shown, in the initial stage of system operation, each edge computing resource pool has 6 target microservice entity devices for running microservices 1-5 and microservice 7, while microservice 6 runs in the target microservice entity device provided by the central computing resource pool. Therefore, there are a total of 3 service chains (numbered 1-3) in the entire system.

[0090] The microservice deployment device can obtain the load information of each target microservice entity device on each target chain and the transmission delay between each target microservice entity device, and calculate the business response time of each target service chain using the DAG critical path method. Assume that the calculated business response times of each target service chain are Ts_1 = Ts_2 = Ts_3 = 2 seconds.

[0091] For each existing target service chain, the microservice deployment device generates 127 virtual service chains respectively, and calculates the business response time of each target service chain using the DAG critical path method based on the above load information and transmission delay collected. Assume that for each existing target service chain, a certain deployment method in the above virtual service chains has the minimum business response time, and its values are Tv_1 = Tv_2 = Tv_3 = 2.3 seconds. Since the business response times of the existing target service chains are all lower than the virtual service chain response times, the microservice deployment device will not adjust the deployment of the microservice entity devices.

[0092] However, as the system runs, assuming that the volume of service requests in Edge Computing Resource Pool 1 increases, the computing resources in this edge computing resource pool start to become insufficient, and each service request needs to wait for a long time to obtain computing resources for service. Since the computing resources in the Central Computing Resource Pool are more abundant than those in the edge computing resource pool, the Central Decision Module calculates that Ts_1 = 3.7 seconds, while for the target virtual service chain among the above 127 virtual service chains (the deployment method corresponding to this target virtual service chain is: microservice entity devices 3-5 are deployed in Edge Computing Resource Pool 1, and the deployment locations of the remaining microservice entities are the same as those on the target service chain numbered 1), Tv_1 = 2.5 seconds. In this case, the microservice deployment device can generate a deployment update configuration based on the deployment locations of the microservice entity devices in the target virtual service chain, and adjust the deployment locations of the target microservice entity devices on the target service chain according to the deployment update configuration.

[0093] Specifically, the above adjustment can be to add microservice entities in the Central Computing Resource Pool to run microservices 3-5, and update the request forwarding table corresponding to Edge Computing Resource Pool 1. The update of the request forwarding table corresponding to Edge Computing Resource Pool 1 includes: adding three forwarding table entries, and forwarding requests for microservices 3-5 to the microservice entities located in the Central Computing Resource Pool with a weight of 0.95. In addition, the microservice deployment device modifies the original three forwarding table entries and forwards requests for microservices 3-5 to the local resource pool with a weight of 0.05. Among them, the above weights of 0.95 and 0.05 are preset based on experimental measurement data.

[0094] After the above operations are completed, the entire microservice management system has 4 service chains. In addition to the original 3 service chains, the newly added service chain runs as follows. Microservices 1-2 and microservice 7 are executed in Edge Computing Resource Pool 1, and then the processing result of microservice 2 is transmitted back to the Central Computing Resource Pool through the network. Finally, after microservices 3-6 in the Central Computing Resource Pool complete the service processing, microservice 7 returns the result to the client. The newly added service chain undertakes 95% of the service increment.

[0095] In practical applications, each microservice entity device can be used to provide a service in the business processing process. The business can include game business, vehicle networking business, live broadcast business, industrial Internet business, etc. Microservice entity devices deployed in different types of computing resource pools can be used to provide different types of services. Taking the application scenario of the game business as an example, the service provided by the microservice entity device in the edge computing resource pool can be the game screen rendering service. Since the edge cloud environment is closer to the client, providing the game screen rendering service through the microservice entity device in the edge computing resource pool is beneficial to improving the smoothness of game screen switching; the service provided by the microservice entity device in the central computing resource pool can be the user permission verification service. Since the central cloud environment is more secure, providing the user permission verification service through the microservice entity device in the central computing resource pool is beneficial to improving the security of user information and the accuracy of permission verification.

[0096] In the embodiment of the present application, the microservice deployment device can determine the business processing information of the target service chain based on the load information of each target microservice entity device in the target service chain and the transmission delay between each target microservice entity device, and generate a deployment update configuration according to the business processing information of the target service chain, and adjust the deployment location of the target microservice entity device on the target service chain according to the deployment update configuration. In the process of adjusting the deployment location of the target microservice entity device, the deployment of the target microservice entity device can be adaptively and flexibly adjusted in combination with the load situation between each target microservice entity device and the transmission delay between each target microservice entity device, which is beneficial to reducing the business response time of the target service chain after the deployment adjustment.

[0097] The embodiment of the present application also provides a computer storage medium, in which program instructions are stored. When the program instructions are executed, they are used to implement the corresponding methods described in the above embodiments.

[0098] Please refer to again Figure 10 , which is a schematic structural diagram of a microservice deployment device according to an embodiment of the present application. The microservice deployment device according to the embodiment of the present application can be set in a microservice deployment device in a microservice management system, and can be a computer program (including program code) running in the microservice deployment device. The microservice management system includes multiple computing resource pools and a running target service chain. Microservice entity devices are deployed in each computing resource pool; the target service chain includes at least one target microservice entity device, and at least one target microservice entity device comes from at least one computing resource pool.

[0099] In one implementation manner of the device according to the embodiment of the present application, the device includes the following structure.

[0100] An acquisition unit 100, configured to acquire service processing information of a target service chain; the service processing information at least includes a service response time, and the service response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device;

[0101] A processing unit 101, configured to generate a deployment update configuration according to the service processing information of the target service chain, where the deployment update configuration includes adjustment information about the deployment location of the target microservice entity devices on the target service chain;

[0102] An adjustment unit 102, configured to adjust the deployment location of the target microservice entity devices on the target service chain according to the deployment update configuration.

[0103] In one embodiment, the processing unit 101 is specifically configured to construct multiple virtual service chains corresponding to the target service chain, each virtual service chain includes at least one microservice entity device, and the at least one microservice entity device comes from at least one computing resource pool; each virtual service chain has a virtual service response time; obtain a target virtual service chain with the minimum virtual service response time from the multiple virtual service chains, and when the service response time of the target virtual service chain is less than the service response time of the target service chain, generate a deployment update configuration according to the deployment locations of the microservice entity devices in the target virtual service chain.

[0104] In one embodiment, that the service response time of the target virtual service chain is less than the service response time of the target service chain means that the difference between the service response time of the target service chain and the virtual service response time of the target virtual service chain is greater than a threshold.

[0105] In one embodiment, the processing unit 101 is further configured to compare the deployment locations of the microservice entity devices in the target virtual service chain with the deployment locations of the target microservice entity devices in the target service chain, and if the deployment locations are different, perform the step of generating a deployment update configuration according to the deployment locations of the microservice entity devices in the target virtual service chain.

[0106] In one embodiment, the types of computing resource pools include a central computing resource pool or an edge computing resource pool; the central computing resource pool is set in a central cloud environment, and the edge computing resource pool is set in an edge cloud environment; the target microservice entity devices on the target service chain come from at least one computing resource pool; the adjustment unit 102 is specifically configured to adjust the deployment of the target microservice entity devices on the target service chain in the central computing resource pool and / or the edge computing resource pool according to the deployment update configuration.

[0107] In one embodiment, the apparatus further includes an update unit 103, configured to update a request forwarding table according to the deployment update configuration.

[0108] In one embodiment, the request forwarding table includes at least one forwarding table entry, and each forwarding table entry includes: a service identifier, a target identifier, and a forwarding weight; the apparatus further includes a communication unit 104, configured to, when receiving a service request, forward the service request to a microservice entity device that performs service processing in a computing resource pool by using the updated request forwarding table.

[0109] In one embodiment, each computing resource pool corresponds to a request forwarding table, and each request forwarding table includes forwarding table entries corresponding to microservice entity devices in the computing resource pool to which it belongs, and forwarding table entries of microservice entity devices that have a call relationship with the microservice entity devices in the computing resource pool to which it belongs.

[0110] In one embodiment, the update includes at least one of adding, deleting, and modifying a forwarding table entry.

[0111] In one embodiment, the communication unit 104 is further configured to, if it detects that the deployment location of the initial microservice entity device for first processing a service request on the target service chain is adjusted from the edge computing resource pool to the central computing resource pool, send a request forwarding notification to a microservice deployment device deployed in the edge computing resource pool, where the request forwarding notification is used to instruct the microservice deployment device deployed in the edge computing resource pool to forward the service request to a microservice deployment device deployed in the central computing resource pool after receiving the service request.

[0112] In one embodiment, the obtaining unit 100 is specifically configured to obtain the load information of the target microservice entity on the target service chain, the transmission delay between the target microservice entity devices, and the call relationship; generate a directed acyclic running DAG graph corresponding to the target microservice entity on the target service chain based on the load information of the target microservice entity, the transmission delay between the target microservice entity devices, and the call relationship; and determine the service response time of the target service chain according to the DAG critical path algorithm.

[0113] In one embodiment, the processing unit 101 is further specifically configured to detect the initial deployment mode of the target microservice entity device on the target service chain; and construct a virtual service chain corresponding to the target service chain based on the initial deployment mode of the target microservice entity device on the target service chain, where the deployment mode of the microservice entity on the virtual service chain is different from the initial deployment mode of the target microservice entity device on the target service chain.

[0114] In one embodiment, the processing unit 101 is further specifically configured to list all deployment modes of the target microservice entity devices on the target service chain in each computing resource pool by means of exhaustive enumeration; and construct a virtual service chain with the deployment mode being the target deployment mode for the target microservice entity devices, where the target deployment mode is a deployment mode other than the initial deployment mode among all the deployment modes.

[0115] In one embodiment, each microservice entity device is used to provide one service in the business processing process, and the business includes a game business or a vehicle networking business. The microservice entity devices deployed in different types of computing resource pools are used to provide different types of services.

[0116] In the embodiments of the present application, for the specific implementation of the above-mentioned respective units, reference may be made to the description of the relevant content in the embodiments corresponding to the foregoing respective drawings.

[0117] The microservice deployment device in the embodiments of the present application may determine the service processing information of the target service chain based on the load information of each target microservice entity device in the target service chain and the transmission delay between each target microservice entity device, generate a deployment update configuration according to the service processing information of the target service chain, and adjust the deployment location of the target microservice entity devices on the target service chain according to the deployment update configuration. During the process of adjusting the deployment location of the target microservice entity devices, the deployment of the target microservice entity devices can be adaptively and flexibly adjusted in combination with the load conditions of each target microservice entity device and the transmission delay between each target microservice entity device, which is beneficial to reducing the service response time of the target service chain after the deployment adjustment.

[0118] Please refer again to Figure 11 , which is a schematic structural diagram of a microservice deployment device according to an embodiment of the present application. The microservice deployment device may refer to a server or a server cluster included in a microservice management system. The microservice management system includes multiple computing resource pools and a target service chain that is running. Each computing resource pool deploys microservice entity devices; the target service chain includes at least one target microservice entity device, and at least one target microservice entity device comes from at least one computing resource pool. The microservice deployment device in the embodiments of the present application includes structures such as a power supply module, and includes a processor 110, a storage device 111, and a communication interface 112. Data can be exchanged between the processor 110, the storage device 111, and the communication interface 112, and the corresponding microservice deployment function is implemented by the processor 110.

[0119] The storage device 111 may include a volatile memory, such as a random-access memory (RAM); the storage device 111 may also include a non-volatile memory, such as a flash memory, a solid-state drive (SSD), etc.; the storage device 111 may further include a combination of the above types of memories.

[0120] The processor 110 may be a central processing unit 110 (CPU). In one embodiment, the processor 110 may also be a Graphics Processing Unit (GPU). The processor 110 may also be a combination of a CPU and a GPU. In the microservice deployment device, multiple CPUs and GPUs may be included as needed for corresponding microservice deployments.

[0121] In one embodiment, the storage device 111 is used to store program instructions. The processor 110 may call the program instructions to implement various methods involved in the above embodiments of the present application.

[0122] In the first possible implementation manner, the processor 110 of the microservice deployment device calls the program instructions stored in the storage device 111 to obtain the service processing information of the target service chain; the service processing information at least includes the service response time, and the service response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device; a deployment update configuration is generated according to the service processing information of the target service chain, and the deployment update configuration includes adjustment information about the deployment location of the target microservice entity device on the target service chain; the deployment location of the target microservice entity device on the target service chain is adjusted according to the deployment update configuration.

[0123] In one embodiment, the processor 110 is specifically configured to construct multiple virtual service chains corresponding to the target service chain, each virtual service chain includes at least one microservice entity device, and the at least one microservice entity device comes from at least one computing resource pool; each virtual service chain has a virtual service response time; the target virtual service chain with the minimum virtual service response time is obtained from the multiple virtual service chains, and when the service response time of the target virtual service chain is less than the service response time of the target service chain, the deployment update configuration is generated according to the deployment locations of the microservice entity devices in the target virtual service chain.

[0124] In one embodiment, that the service response time of the target virtual service chain is less than that of the target service chain means that the difference between the service response time of the target service chain and the virtual service response time of the target virtual service chain is greater than a threshold value.

[0125] In one embodiment, the processor 110 is further configured to compare the deployment locations of the respective microservice entity devices in the target virtual service chain with the deployment locations of the respective target microservice entity devices in the target service chain. If the deployment locations are different, the step of generating a deployment update configuration according to the deployment locations of the respective microservice entity devices in the target virtual service chain is executed.

[0126] In one embodiment, the type of the computing resource pool includes a central computing resource pool or an edge computing resource pool; the central computing resource pool is provided in the central cloud environment, and the edge computing resource pool is provided in the edge cloud environment; the target microservice entity devices on the target service chain come from at least one computing resource pool; the processor 110 is further specifically configured to adjust the deployment of the target microservice entity devices on the target service chain in the central computing resource pool and / or the edge computing resource pool according to the deployment update configuration.

[0127] In one embodiment, the processor 110 is further configured to update the request forwarding table according to the deployment update configuration.

[0128] In one embodiment, the request forwarding table includes at least one forwarding table entry, and each forwarding table entry includes: a service identifier, a target identifier, and a forwarding weight; when receiving a service request through the communication interface 112, the processor 110 is further configured to forward the service request to the microservice entity device that performs service processing in the computing resource pool through the communication interface 112 by using the updated request forwarding table.

[0129] In one embodiment, each computing resource pool corresponds to a request forwarding table, and each request forwarding table includes the forwarding table entries corresponding to the microservice entity devices in the computing resource pool to which it belongs, and the forwarding table entries of the microservice entity devices having a call relationship with the microservice entity devices in the computing resource pool to which it belongs.

[0130] In one embodiment, the update includes at least one of adding, deleting, and modifying the forwarding table entries.

[0131] In one embodiment, the processor 110 is further configured to, if it detects that the deployment location of the initial microservice entity device that is used to process a service request first on a target service chain is adjusted from an edge computing resource pool to a central computing resource pool, send a request forwarding notification to the microservice deployment device deployed in the edge computing resource pool through the communication interface 112. The request forwarding notification is used to instruct the microservice deployment device deployed in the edge computing resource pool to forward the service request to the microservice deployment device deployed in the central computing resource pool after receiving the service request.

[0132] In one embodiment, the processor 110 is further specifically configured to obtain the load information of a target microservice entity on a target service chain, the transmission delay between target microservice entity devices, and the call relationship. Based on the load information of the target microservice entity, the transmission delay between target microservice entity devices, and the call relationship, generate a directed acyclic running DAG graph corresponding to the target microservice entity on the target service chain, and determine the service response time of the target service chain according to the DAG critical path algorithm.

[0133] In one embodiment, the processor 110 is further specifically configured to detect the initial deployment mode of a target microservice entity device on a target service chain; construct a virtual service chain corresponding to the target service chain based on the initial deployment mode of the target microservice entity device on the target service chain. The deployment mode of the microservice entity on the virtual service chain is different from the initial deployment mode of the target microservice entity device on the target service chain.

[0134] In one embodiment, the processor 110 is further specifically configured to list all deployment modes of the target microservice entity device on the target service chain in each computing resource pool by means of exhaustive method; construct a virtual service chain with the deployment mode being a target deployment mode for the target microservice entity device, where the target deployment mode is a deployment mode other than the initial deployment mode among all deployment modes.

[0135] In one embodiment, each microservice entity device is used to provide one service in the service processing process. The service includes a game service or a vehicle networking service. The microservice entity devices deployed in different types of computing resource pools are used to provide different types of services.

[0136] In the embodiments of the present application, the specific implementation of the foregoing processor 110 may refer to the description of the relevant content in the embodiments corresponding to the foregoing respective drawings.

[0137] In the micro-service deployment device in the embodiments of the present application, the service processing information of the target service chain can be determined based on the load information of each target micro-service entity device in the target service chain and the transmission delay between each target micro-service entity device, and a deployment update configuration can be generated according to the service processing information of the target service chain, and the deployment positions of the target micro-service entity devices on the target service chain can be adjusted according to the deployment update configuration. During the process of adjusting the deployment positions of the target micro-service entity devices, the deployment of the target micro-service entity devices can be adaptively and flexibly adjusted in combination with the load conditions of each target micro-service entity device and the transmission delay between each target micro-service entity device, which is beneficial to reducing the service response time of the target service chain after the deployment adjustment.

[0138] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), etc.

[0139] The above-disclosed are only some embodiments of the present application. Of course, the scope of rights of the present application cannot be limited thereby. Those of ordinary skill in the art can understand all or part of the processes of the above embodiments, and the equivalent changes made according to the claims of the present application still fall within the scope covered by the invention.

Claims

1. A microservice management system, characterized in that, The microservice management system includes a microservice deployment device and multiple computing resource pools, and microservice entity devices are deployed in each computing resource pool; The microservice management system includes a running target service chain, the target service chain includes at least one target microservice entity device, and the at least one target microservice entity device comes from at least one computing resource pool; wherein, the microservice deployment device includes a central decision-making module and a service deployment execution module; The central decision-making module is configured to obtain the service processing information of the target service chain, and the service processing information at least includes a service response time, and the service response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device; The central decision-making module is further configured to construct multiple virtual service chains corresponding to the target service chain, each virtual service chain includes at least one microservice entity device, and at least one microservice entity device on each virtual service chain comes from at least one computing resource pool; each virtual service chain has a virtual service response time; obtain a target virtual service chain with the minimum virtual service response time from the multiple virtual service chains; when the virtual service response time of the target virtual service chain is less than the service response time of the target service chain, generate a deployment update configuration according to the deployment positions of the microservice entity devices in the target virtual service chain; the deployment update configuration includes adjustment information about the deployment positions of each target microservice entity; The service deployment execution module is configured to adjust the deployment positions of the target microservice entity devices on the target service chain according to the deployment update configuration.

2. The system according to claim 1, characterized in that, The types of the computing resource pools include a central computing resource pool or an edge computing resource pool; the central computing resource pool is set in a central cloud environment, and the edge computing resource pool is set in an edge cloud environment; both the central decision-making module and the service deployment execution module are set in the central cloud environment.

3. The system according to claim 2, wherein The microservice deployment device further includes multiple service load collection modules, and one service load collection module is provided in each computing resource pool; the service load collection module is configured to collect the load information of the microservice entity devices in the affiliated computing resource pool and report the collected load information to the central decision-making module; The microservice deployment device further includes multiple network quality monitoring modules, and one network quality monitoring module is provided in each computing resource pool; the network quality monitoring module is configured to collect the transmission delay between the microservice entity devices in the affiliated computing resource pool and report the collected transmission delay to the central decision-making module.

4. The system according to claim 3, wherein The central decision-making module is specifically configured to generate the service processing information of the target service chain according to the load information reported by the service load collection module and the transmission delay reported by the network quality monitoring module.

5. The system according to claim 2, wherein The microservice deployment device further includes multiple service request distribution modules, and the service request distribution module is configured to maintain a request forwarding table in the microservice management system and update the request forwarding table according to the deployment update configuration.

6. A microservice deployment method, characterized in that, The method is executed by a microservice deployment device in a microservice management system, which includes multiple computing resource pools and a running target service chain, and microservice entity devices are deployed in each computing resource pool; The target service chain includes at least one target microservice entity device, and the at least one target microservice entity device comes from at least one computing resource pool; the method includes: Obtaining the service processing information of the target service chain; the service processing information includes at least a service response time, and the service response time is determined based on the load information of each target microservice entity device and the transmission delay between each target microservice entity device; Constructing multiple virtual service chains corresponding to the target service chain, each virtual service chain includes at least one microservice entity device, and at least one microservice entity device on each virtual service chain comes from at least one computing resource pool; each virtual service chain has a virtual service response time; Obtaining a target virtual service chain with the minimum virtual service response time from the multiple virtual service chains; When the virtual service response time of the target virtual service chain is less than the service response time of the target service chain, generating a deployment update configuration according to the deployment positions of the microservice entity devices in the target virtual service chain; the deployment update configuration includes adjustment information about the deployment positions of the target microservice entity devices on the target service chain; Adjusting the deployment positions of the target microservice entity devices on the target service chain according to the deployment update configuration.

7. The method according to claim 6, wherein The virtual service response time of the target virtual service chain being less than the service response time of the target service chain means that the difference between the service response time of the target service chain and the virtual service response time of the target virtual service chain is greater than a threshold.

8. The method according to claim 7, wherein, The method further includes: Comparing the deployment positions of the microservice entity devices in the target virtual service chain with the deployment positions of the target microservice entity devices in the target service chain; If their deployment positions are different, then execute the step of generating the deployment update configuration according to the deployment positions of the microservice entity devices in the target virtual service chain.

9. The method according to claim 6, wherein The types of the computing resource pools include a central computing resource pool or an edge computing resource pool; the central computing resource pool is set in a central cloud environment, and the edge computing resource pool is set in an edge cloud environment; The target microservice entity devices on the target service chain come from at least one computing resource pool; The adjusting the deployment positions of the target microservice entity devices on the target service chain according to the deployment update configuration includes: Adjusting the deployment of the target microservice entity devices on the target service chain in the central computing resource pool and / or the edge computing resource pool according to the deployment update configuration.

10. The method according to claim 6, characterized in that, The method further includes: Updating a request forwarding table according to the deployment update configuration.

11. The method according to claim 10, characterized in that, The request forwarding table includes at least one forwarding table entry, and each forwarding table entry includes: a service identifier, a target identifier, and a forwarding weight; the method further includes: When a service request is received, the updated request forwarding table is used to forward the service request to the microservice entity device that performs service processing in the computing resource pool.

12. The method according to claim 11, characterized in that, Each computing resource pool corresponds to a request forwarding table. Each request forwarding table includes the forwarding table entries corresponding to the microservice entity devices in the computing resource pool to which it belongs, as well as the forwarding table entries of the microservice entity devices that have a call relationship with the microservice entity devices in the computing resource pool to which it belongs.

13. The method according to claim 11, wherein The update includes at least one of adding, deleting, and modifying the forwarding table entries.

14. The method according to claim 9, wherein After adjusting the deployment of the target microservice entity device on the target service chain in the central computing resource pool and / or the edge computing resource pool according to the deployment update configuration adjustment, the method further includes: If it is detected that the deployment location of the initial microservice entity device that is used to first process the service request on the target service chain is adjusted from the edge computing resource pool to the central computing resource pool, a request forwarding notification is sent to the microservice deployment device deployed in the edge computing resource pool. The request forwarding notification is used to instruct the microservice deployment device deployed in the edge computing resource pool to forward the service request to the microservice deployment device deployed in the central computing resource pool after receiving the service request.

15. The method according to claim 6, characterized in that The obtaining the service processing information of the target service chain includes: Obtaining the load information of the target microservice entity on the target service chain, the transmission delay between the target microservice entity devices, and the call relationship; Based on the load information of the target microservice entity, the transmission delay between the target microservice entity devices, and the call relationship, generating a directed acyclic running DAG graph corresponding to the target microservice entity on the target service chain; Determining the service response time of the target service chain according to the DAG critical path algorithm.

16. The method according to claim 6, characterized in that, The constructing multiple virtual service chains corresponding to the target service chain includes: Detecting the initial deployment mode of the target microservice entity device on the target service chain; Constructing multiple virtual service chains corresponding to the target service chain based on the initial deployment mode of the target microservice entity device on the target service chain. The deployment mode of the microservice entities on the virtual service chain is different from the initial deployment mode of the target microservice entity device on the target service chain.

17. The method according to claim 16, wherein The constructing multiple virtual service chains corresponding to the target service chain based on the initial deployment mode of the target microservice entity device on the target service chain includes: Listing all the deployment modes of the target microservice entity devices on the target service chain in each computing resource pool by the exhaustive method; Constructing a virtual service chain with the deployment mode being the target deployment mode for the target microservice entity device, where the target deployment mode is the deployment mode other than the initial deployment mode among all the deployment modes.

18. The method according to claim 6, characterized in that, Each microservice entity device is used to provide a service in the service processing process. The service includes a game service or a vehicle networking service. The microservice entity devices deployed in different types of computing resource pools are used to provide different types of services.

19. A microservice deployment device, characterized in that, The deployment device is configured in a microservice deployment device in a microservice management system. The microservice management system includes multiple computing resource pools and a running target service chain. Each computing resource pool deploys microservice entity devices; The target service chain includes at least one target microservice entity device. The at least one target microservice entity device comes from at least one computing resource pool. The deployment device includes: An acquisition unit, configured to acquire service processing information of the target service chain. The service processing information at least includes a service response time, and the service response time is determined based on load information of each of the target microservice entity devices and transmission delays between each of the target microservice entity devices; A processing unit, configured to construct multiple virtual service chains corresponding to the target service chain. Each virtual service chain includes at least one microservice entity device. At least one microservice entity device on each virtual service chain comes from at least one computing resource pool. Each virtual service chain has a virtual service response time. Obtain a target virtual service chain with the smallest virtual service response time from the multiple virtual service chains. When the virtual service response time of the target virtual service chain is less than the service response time of the target service chain, generate a deployment update configuration according to the deployment positions of the microservice entity devices in the target virtual service chain. The deployment update configuration includes adjustment information about the deployment positions of the target microservice entity devices on the target service chain; An adjustment unit, configured to adjust the deployment positions of the target microservice entity devices on the target service chain according to the deployment update configuration.

20. A microservice deployment device, characterized in that, The microservice deployment device is applied to a microservice management system. The microservice management system includes multiple computing resource pools and a running target service chain. Each computing resource pool deploys microservice entity devices; The target service chain includes at least one target microservice entity device. The at least one target microservice entity device comes from at least one computing resource pool. The microservice deployment device includes a processor and a storage device, and the processor and the storage device are connected to each other. Among them, the storage device is used to store a computer program. The computer program includes program instructions. The processor is configured to call the program instructions to execute the method according to any one of claims 6-18.

21. A computer storage medium, characterized in that, Program instructions are stored in the computer storage medium. When the program instructions are executed, they are used to implement the method according to any one of claims 6-18.

Citation Information

Patent Citations

  • Load balancing engine, client, distributed computing system and load balancing method

    CN109218355A