Heterogeneous microservice framework governance system, method and apparatus

CN117082158BActive Publication Date: 2026-10-09CHINA MOBILE INFORMATION TECHNOLOGY CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310988479.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-07
Publication Date
2026-10-09
Estimated Expiration
2043-08-07

AI Technical Summary

Technical Problem

[0004]本发明的主要目的在于提供一种异构微服务框架治理系统、方法及设备,旨在解决现有的微服务框架由于是不同语言、不同协议开发的,导致统一治理操作较为繁琐的技术问题

Benefits of technology

[0028] This invention discloses a heterogeneous microservice framework governance system, comprising a control plane module, a protocol conversion module, and a data plane module. The control plane module is used to send corresponding standardized service configurations to the protocol conversion module based on received events to be governed. The protocol conversion module is used to perform protocol conversion on the standardized service configurations using a preset standard protocol to obtain corresponding unified standardized service configurations. The data plane module is used to receive the unified standardized service configurations and send them to the corresponding microservice frameworks to be governed for configuration and application. Because this invention receives events to be governed through the control plane and sends corresponding standardized service configurations to the protocol conversion module based on these events, and the protocol conversion module performs protocol conversion on the standardized service configurations using a preset standard protocol and sends the obtained unified standardized service configurations to the data plane module, which then sends the unified service configurations to the corresponding microservice frameworks to be governed for configuration and application, compared to existing systems, this invention can obtain unified standardized service configurations based on events to be governed, enabling the microservice frameworks to be governed to perform configuration and application based on these unified standardized service configurations, thereby improving the convenience of unified governance of heterogeneous microservice frameworks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117082158B_ABST
    Figure CN117082158B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of cloud computing, and discloses a heterogeneous micro-service framework management system, method and equipment, which comprises a control plane module, a protocol conversion module and a data plane module; the control plane module is used for issuing corresponding standardized service configurations to the protocol conversion module according to received to-be-managed events; the protocol conversion module is used for performing protocol conversion on the standardized service configurations through preset standard protocols to obtain corresponding unified standardized service configurations; and the data plane module is used for receiving the unified standardized service configurations and sending the unified service management configurations to corresponding to-be-managed micro-service frameworks for configuration application. Compared with the prior art, the application converts the standardized service configurations into unified standardized service configurations for configuration application, and improves the convenience of unified management of the heterogeneous micro-service frameworks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cloud computing technology, and in particular to a heterogeneous microservice framework governance system, method and device. Background Technology

[0002] Currently, the core challenge of software architecture is addressing the system complexity brought about by rapid business growth. The more complex the system, the stronger the demand for service governance, and the more likely small technical problems are to be amplified, leading to major online failures. Microservice governance, on the other hand, can reduce or even avoid stability issues encountered during the release and management of large-scale applications through techniques such as lossless deployment and deployment, end-to-end canary deployments, and traffic protection.

[0003] However, existing microservice frameworks are developed using different languages ​​and protocols, and have different abstractions for their respective capabilities and models. For example, some microservice frameworks register and discover services at the interface level, while others do so at the application level. This makes the governance of heterogeneous microservice frameworks very difficult and cumbersome. Therefore, how to achieve unified governance of heterogeneous microservice frameworks is a technical problem that urgently needs to be solved. Summary of the Invention

[0004] The main objective of this invention is to provide a heterogeneous microservice framework governance system, method, and device, aiming to solve the technical problem that the unified governance operation is cumbersome due to existing microservice frameworks being developed in different languages ​​and protocols.

[0005] To achieve the above objectives, the present invention provides a heterogeneous microservice framework governance system, the system comprising: a control plane module, a protocol conversion module, and a data plane module;

[0006] The control plane module is used to send the corresponding standardized service configuration to the protocol conversion module according to the received events to be governed;

[0007] The protocol conversion module is used to convert the standardized service configuration through a preset standard protocol to obtain the corresponding unified standardized service configuration.

[0008] The data plane module is used to receive the unified standardized service configuration and send the unified service governance configuration to the corresponding microservice framework to be governed for configuration and application.

[0009] Optionally, the protocol conversion module is further configured to convert the standardized service configuration through a preset service metadata protocol to obtain the corresponding unified standardized service configuration;

[0010] The protocol conversion module is further configured to determine the distribution method through a preset service governance rule protocol, and distribute the unified standardized service configuration to the data plane module according to the distribution method.

[0011] Optionally, the protocol conversion module is further configured to generate a service registration protocol and a discovery communication protocol based on a preset service registration and discovery protocol;

[0012] The data plane module is also used to register the microservice framework to be governed based on the service registration protocol;

[0013] The data plane module is also used to send the unified service governance configuration to the corresponding microservice framework to be governed for configuration and application based on the discovery communication protocol after registration.

[0014] Optionally, the protocol conversion module is further configured to determine the observable data format through a preset service observable protocol;

[0015] The data plane module is also used to display the configuration application results according to the observable data format.

[0016] Optionally, the protocol conversion module is further configured to determine the listening method through the preset service governance rule protocol;

[0017] The data plane module is also used to monitor the application results according to the monitoring method.

[0018] Optionally, the protocol conversion module is further configured to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding unique application identifier, node information, and service metadata.

[0019] The protocol conversion module is further configured to generate a service metadata request based on the unique application identifier, the node information, and the service metadata information, and obtain the corresponding unified standardized service configuration based on the service metadata response, wherein the service metadata response is generated based on the service metadata request.

[0020] Optionally, the protocol conversion module is further configured to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding service listening address, service supported communication protocol, and service contract information;

[0021] The protocol conversion module is also used to generate the service metadata based on the service listening address, the service supported communication protocol, and the service contract information.

[0022] Optionally, the control plane module is further configured to convert the received events to be governed according to a preset conversion standard to obtain the corresponding standardized service configuration, and to send the standardized service configuration to the protocol conversion module.

[0023] Furthermore, to achieve the above objectives, this invention also proposes a heterogeneous microservice framework governance method, which includes the following steps:

[0024] Generate corresponding standardized service configurations based on the received events to be managed;

[0025] The standardized service configuration is converted using a preset standard protocol to obtain the corresponding unified standardized service configuration.

[0026] The unified service governance configuration is sent to the corresponding microservice framework to be governed for configuration and application.

[0027] Furthermore, to achieve the above objectives, the present invention also proposes a heterogeneous microservice framework governance device, the device comprising: a memory, a processor, and a heterogeneous microservice framework governance program stored in the memory and executable on the processor, the heterogeneous microservice framework governance program being configured to implement the steps of the heterogeneous microservice framework governance method described above.

[0028] This invention discloses a heterogeneous microservice framework governance system, comprising a control plane module, a protocol conversion module, and a data plane module. The control plane module is used to send corresponding standardized service configurations to the protocol conversion module based on received events to be governed. The protocol conversion module is used to perform protocol conversion on the standardized service configurations using a preset standard protocol to obtain corresponding unified standardized service configurations. The data plane module is used to receive the unified standardized service configurations and send them to the corresponding microservice frameworks to be governed for configuration and application. Because this invention receives events to be governed through the control plane and sends corresponding standardized service configurations to the protocol conversion module based on these events, and the protocol conversion module performs protocol conversion on the standardized service configurations using a preset standard protocol and sends the obtained unified standardized service configurations to the data plane module, which then sends the unified service configurations to the corresponding microservice frameworks to be governed for configuration and application, compared to existing systems, this invention can obtain unified standardized service configurations based on events to be governed, enabling the microservice frameworks to be governed to perform configuration and application based on these unified standardized service configurations, thereby improving the convenience of unified governance of heterogeneous microservice frameworks. Attached Figure Description

[0029] Figure 1 This is a schematic diagram of the structure of the first embodiment of the heterogeneous microservice framework governance system of the present invention;

[0030] Figure 2 This is a flowchart of the first embodiment of the heterogeneous microservice framework governance system of the present invention;

[0031] Figure 3 This is a schematic diagram of the data plane module access in the first embodiment of the heterogeneous microservice framework governance system of the present invention;

[0032] Figure 4 This is a schematic diagram of the structure of the second embodiment of the heterogeneous microservice framework governance method of the present invention;

[0033] Figure 5 This is a schematic diagram of the structure of the third embodiment of the heterogeneous microservice framework governance method of the present invention;

[0034] Figure 6 This is a schematic diagram of the deployment mode in the third embodiment of the heterogeneous microservice framework governance method of the present invention;

[0035] Figure 7 This is a schematic diagram of the heterogeneous microservice framework governance device structure of the hardware operating environment involved in the embodiments of the present invention;

[0036] Figure 8 This is a flowchart illustrating the first embodiment of the heterogeneous microservice framework governance method of the present invention.

[0037] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0038] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0039] Reference Figure 1 , Figure 1 This is a schematic diagram of the structure of the first embodiment of the heterogeneous microservice framework governance system of the present invention, and the first embodiment of the heterogeneous microservice framework governance method of the present invention is proposed.

[0040] In the first embodiment, the heterogeneous microservice framework governance system includes: a control plane module, a protocol conversion module, and a data plane module.

[0041] It should be noted that the system described in this embodiment can be applied to scenarios of governing heterogeneous microservice frameworks. The system described in this embodiment can interface with microservice frameworks on the market, form standards between different microservice frameworks and communication protocols, and thus govern and manage services of different microservice frameworks.

[0042] The control plane module is used to send the corresponding standardized service configuration to the protocol conversion module according to the received events to be governed.

[0043] It is understood that the aforementioned events to be governed can be events representing creation, read, and delete (CRD) operations. A CRD can be a database operation mode that can be used to create, read, and delete data. In microservices, the aforementioned events to be governed can be events that perform the above operations on the database. This embodiment does not impose any specific restrictions.

[0044] It should be understood that the aforementioned issues requiring governance can be addressed through the Kubernetes platform, which is an open-source, easily orchestrated and managed platform that provides a scalable architecture for the automated deployment, scaling, and management of containerized applications.

[0045] It should also be noted that the Kubernetes platform mentioned above can receive Custom Resource Definitions (CRDS) for service governance. After processing by the Kubernetes platform, the events to be governed, i.e., CRD events, can be obtained. For easier understanding, please refer to... Figure 2 To explain, Figure 2 This is a flowchart of the first embodiment of the heterogeneous microservice framework governance system of the present invention, as shown below. Figure 2 As shown, K8sApiServer is used for illustration. K8sApiServer is one of the components in the Kubernetes cluster. It can receive service governance CRDS and transmit the generated CRD events to the control plane module.

[0046] It is understood that the control plane module described above in this embodiment is equipped with a dedicated Dashboard, which can be a user interface provided by the Kubernetes platform, and can be used to visualize and manage the Kubernetes cluster.

[0047] It should be emphasized that, considering that the control plane module described above in this embodiment can interface with different enterprises, the control plane module can also access the enterprise's self-built dashboard to obtain the events to be governed from different enterprises.

[0048] It should be understood that the above-mentioned standardized service configuration can be a service configuration for governance. Considering that the events to be governed received by the control plane module may have certain differences, such as differences in functional descriptions, in order to facilitate subsequent processing, in this embodiment, the control plane module is also used to convert the received events to be governed according to a preset conversion standard to obtain the corresponding standardized service configuration, and to send the standardized service configuration to the protocol conversion module.

[0049] It should be noted that, continuing as Figure 2As shown, a CRD converter can be set in the control plane module, and the CRD converter can be set with the preset conversion standard. The preset conversion standard can be to unify the received events to be governed into a standardized service configuration that can be processed. The preset conversion standard can be set according to the actual situation, and this embodiment does not impose any restrictions.

[0050] In a specific implementation, the control plane module can receive events to be governed from different locations, convert the events to be governed into standardized service configurations through preset conversion standards, and then send the obtained standardized service configurations to the protocol conversion module.

[0051] The protocol conversion module is used to convert the standardized service configuration through a preset standard protocol to obtain the corresponding unified standardized service configuration.

[0052] It is understood that the aforementioned preset specification protocol can be a protocol used to convert standardized service configurations. In this embodiment, different standardized service configurations can be converted into a unified standardized service configuration through the aforementioned preset specification protocol, ensuring that microservice frameworks with different frameworks, different protocols, and different languages ​​can be described using one specification information, thereby shielding the differences in service information of heterogeneous microservice frameworks.

[0053] It should be understood that continuing to refer to Figure 2 The control plane module mentioned above is also equipped with a Google Remote Procedure Call (gRPC) Endpoint, which can communicate with the protocol conversion module through the gRPC Endpoint. That is, the reporting of service information, the distribution of configurations, and the listening can all be implemented based on the gRPC protocol.

[0054] It should be noted that the protocol conversion module in this embodiment can be described using a unified standard SDK (Software Development Kit), and the unified standard SDK in this embodiment can support languages ​​such as Java and Go, and of course, other languages ​​can also be used. This embodiment does not impose any restrictions.

[0055] It should also be noted that before the control plane module sends the standardized service configuration, the unified standard SDK can first subscribe to the rule configuration corresponding to the control plane module, that is... Figure 2 The control plane module then pushes the standardized service configuration to the unified standard SDK, ensuring the accuracy and reliability of data transmission. Figure 2 The system pushes standardized service configurations, and the unified standard SDK can return push ACKs to the control plane module.

[0056] In its implementation, the aforementioned protocol conversion module can receive standardized service configurations and convert them using a preset standard protocol to obtain the corresponding unified standardized service configuration.

[0057] The data plane module is used to receive the unified standardized service configuration and send the unified service governance configuration to the corresponding microservice framework to be governed for configuration and application.

[0058] Understandably, the aforementioned data plane module can receive and apply the aforementioned unified standardized service configuration, i.e. Figure 2 With the unified standardized service configuration in effect, the data plane module mentioned above in this embodiment can be connected to the microservice framework to be governed. The form of the microservice framework to be governed can be SDK, JavaAgent, Sidecar, etc., and the specific embodiment is not limited.

[0059] It should be understood that before the data plane module receives the unified standardized service configuration, the aforementioned data plane module can first subscribe to the rule configuration corresponding to the protocol conversion module, i.e. Figure 2 The subscription configuration establishes a connection between the data plane module and the protocol conversion module, allowing the protocol conversion module to send unified standardized service configurations to the data plane module before the unified standardized service configurations take effect.

[0060] It should be noted that the aforementioned data plane module enables each microservice framework to be governed in this embodiment to receive the corresponding unified service governance configuration and apply it to the current business traffic, thereby reducing the developer's understanding cost. For details, please refer to... Figure 3 , Figure 3 This is a schematic diagram of the data plane module access in the first embodiment of the heterogeneous microservice framework governance system of the present invention; as shown below. Figure 3 As shown, the data plane module can connect to different microservice frameworks to be governed through the Service Governance Specification (Spec). Figure 3 The text showcases three platform-based microservice frameworks awaiting governance, namely... Figure 3 The example uses One Java Agent, SDK, and Service Mesh, but can also be a microservice framework to be governed built on other platforms. This example does not impose any restrictions on these components.

[0061] In practice, the data plane module can send the received unified standardized service configuration to the corresponding microservice framework to be governed for configuration and application.

[0062] This embodiment receives governance events from different locations through the control plane module and converts them into standardized service configurations using a preset conversion standard. The obtained standardized service configurations are then sent to the protocol conversion module. The protocol conversion module receives the standardized service configurations and performs protocol conversion on them using a preset standard protocol to obtain the corresponding unified standardized service configuration. The data plane module sends the received unified standardized service configuration to the corresponding microservice framework to be governed for configuration and application. Because this embodiment receives governance events through the control plane and sends corresponding standardized service configurations to the protocol conversion module based on the governance events, and the protocol conversion module performs protocol conversion on the standardized service configurations using a preset standard protocol and sends the obtained unified standardized service configuration to the data plane module, which then sends the unified service configuration to the corresponding microservice framework to be governed for configuration and application, compared to existing methods, this embodiment can obtain unified standardized service configurations based on the governance events. Because the communication protocol is unified, users can achieve unified governance of heterogeneous microservice frameworks without worrying about underlying differences, thereby improving the convenience of unified governance of heterogeneous microservice frameworks.

[0063] Reference Figure 4 , Figure 4 This is a schematic diagram of the structure of the second embodiment of the heterogeneous microservice framework governance method of the present invention, based on the above. Figure 1 The first embodiment shown presents a second embodiment of the heterogeneous microservice framework governance method of the present invention.

[0064] In order to obtain a unified and standardized service configuration, in this embodiment, the protocol conversion module is further configured to perform protocol conversion on the standardized service configuration through a preset service metadata protocol to obtain the corresponding unified and standardized service configuration.

[0065] The protocol conversion module is further configured to determine the distribution method through a preset service governance rule protocol, and distribute the unified standardized service configuration to the data plane module according to the distribution method.

[0066] It should be noted that, in this embodiment, both the aforementioned preset service metadata protocol and the aforementioned preset service governance rule protocol can be considered as the aforementioned preset specification protocol. The aforementioned preset service metadata protocol can be a protocol used to exchange service metadata. For services, it is necessary to report service contract information for service debugging, service routing, and other service governance scenarios. The aforementioned preset service governance rule protocol can be a protocol that defines how configurations are distributed.

[0067] Furthermore, since the protocol setting principle is similar in this embodiment, the setting of a preset service metadata protocol is used for explanation. In this embodiment, the protocol conversion module is also used to extract information from the standardized service configuration through the preset service metadata protocol to obtain the corresponding unique application identifier, node information and service metadata.

[0068] The protocol conversion module is further configured to generate a service metadata request based on the unique application identifier, the node information, and the service metadata information, and obtain the corresponding unified standardized service configuration based on the service metadata response, wherein the service metadata response is generated based on the service metadata request.

[0069] It should be noted that the above-mentioned service metadata request can be a request generated when a unified standardized service configuration needs to be generated. The above-mentioned service metadata response can be a response corresponding to the service metadata request. The above-mentioned unique application identifier can be used to identify the application involved in the service metadata request. The above-mentioned node information can be information related to nodes or servers in the service metadata request, such as node status, etc. This embodiment does not impose any restrictions on the specific details. The above-mentioned service metadata can be the information corresponding to the metadata describing the service in the service metadata request.

[0070] Understandably, the above protocol conversion module can generate service metadata requests based on the unique application identifier, node information, and service metadata. For ease of understanding, please refer to Table 1 below for explanation.

[0071]

[0072] Table 1

[0073] As shown in Table 1 above, the field id corresponding to the unique application identifier can be 1, the field name can be app_name, and the type can be string. It is required when generating service metadata requests. The field id corresponding to the node information can be 2, the field name can be node, and the type can be Node. It is required when generating service metadata requests. The field id corresponding to the service metadata can be 3, the field name can be service_metadata, and the type can be ServiceMetadata array. It is required when generating service metadata requests.

[0074] In its implementation, the aforementioned protocol conversion module can extract information from the standardized service configuration to obtain the corresponding unique application identifier, node information, and service metadata. Based on the unique application identifier, node information, and service metadata, it generates a service metadata request and responds to the service metadata request to obtain the corresponding unified standardized service configuration.

[0075] Furthermore, in order to determine the above-mentioned service metadata, in this embodiment, the protocol conversion module is also used to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding service listening address, service supported communication protocol and service contract information.

[0076] The protocol conversion module is also used to generate the service metadata based on the service listening address, the service supported communication protocol, and the service contract information.

[0077] It should be understood that the above-mentioned service listening address may be the IP address and port number of the service provider in the service metadata request, the above-mentioned service supported communication protocol may be the access method supported in the service metadata request, and the above-mentioned service contract information may be the specification information used for communication and interaction in the service metadata request. For ease of understanding, please refer to Table 2 below for explanation.

[0078]

[0079] Table 2

[0080] As shown in Table 2 above, the field id corresponding to the service listening address can be 1, the field name can be listening_addresses, and the type can be an array of SocketAddresses. It is required when generating service metadata. The field id corresponding to the service supported communication protocol can be 2, the field name can be protocols, and the type can be a string array. It is required when generating service metadata. The field id corresponding to the service contract information can be 3, the field name can be service_contract, and the type can be ServiceContract. It is required when generating service metadata.

[0081] It should also be noted that, in order to clearly indicate the access method for service support, the above service support communication protocol can adopt the <communication protocol>: / / <ip> : <port>The identifier, in which the communication protocol may include http, dubbo, tri, gRPC, thrift, etc.

[0082] In its implementation, the protocol conversion module can extract information from the standardized service configuration to obtain the corresponding service listening address, service supported communication protocol, and service contract information, and generate service metadata based on the service listening address, service supported communication protocol, and service contract information.

[0083] Furthermore, in order to determine the aforementioned service contract information, in this embodiment, the aforementioned protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol, obtain the corresponding service definition information and message type definition information, and generate the aforementioned service contract information based on the service definition information and type definition information.

[0084] It is understood that the above service definition information can be used to define services, and the above type definition information can be the information corresponding to the message type definition used by the service. For ease of understanding, please refer to Table 3 below for explanation.

[0085]

[0086] Table 3

[0087] As shown in Table 3 above, the field id corresponding to the service definition information can be 1, the field name can be services, and the type can be an array of ServiceDescriptor. It is required when generating service contract information. The field id corresponding to the type definition information can be 2, the field name can be types, and the type can be an array of TypeDescriptor. It is required when generating service contract information.

[0088] Furthermore, in order to determine the above-mentioned service definition information, in this embodiment, the above-mentioned protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding service name, method definition information and business description information, and generate the above-mentioned service definition information based on the service name, method definition information and business description information.

[0089] It should be understood that the above service name can be the unique name of the service in the application, the above method definition information can be the information corresponding to the method definition provided by the service, and the above business description information can be the information corresponding to the business description of the service. For ease of understanding, please refer to Table 4 below for explanation.

[0090]

[0091] Table 4

[0092] As shown in Table 4 above, the field id corresponding to the service name can be 1, the field name can be name, and the type can be string. It is required when generating service definition information. The field id corresponding to the method definition information can be 2, the field name can be methods, and the type can be a MethodDescriptor array. It is required when generating service definition information. The field id corresponding to the business description information can be 3, the field name can be description, and the type can be string. It is optional when generating service definition information.

[0093] Since the business description information is optional, the above service definition information can also be generated using only the service name and method definition information.

[0094] Furthermore, in order to determine the above method definition information, in this embodiment, the above protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding method name, input parameter type name, output parameter type name, whether the client sends data in streaming mode, whether the server sends data in streaming mode, the business description of the method, the path representing the HTTP method, and the supported HTTP request methods. Based on the method name, input parameter type name, output parameter type name, whether the client sends data in streaming mode, whether the server sends data in streaming mode, the business description of the method, the path representing the HTTP method, and the supported HTTP request methods, the above method definition information is generated.

[0095] For easier understanding, please refer to Table 5 below.

[0096]

[0097] Table 5

[0098] As shown in Table 5 above, the field id corresponding to the method name can be 1, the field name can be name, and the type can be string; it is required when generating method definition information. The field id corresponding to the input parameter type name can be 2, the field name can be input_types, and the type can be a string array; it is required when generating method definition information. The field id corresponding to the output parameter type name can be 3, the field name can be output_types, and the type can be a string array; it is required when generating method definition information. The field id corresponding to whether the client sends data in streaming mode can be 5, the field name can be client_streaming, and the type can be bool; it is optional when generating method definition information. The field id corresponding to whether the server sends data in streaming mode can be 5. The `id` field corresponding to the data being sent can be 6, the field name can be `server_streaming`, and the type can be bool; it is optional when generating method definition information. The `id` field corresponding to the business description of the method can be 7, the field name can be `description`, and the type can be string; it is optional when generating method definition information. The `id` field corresponding to the `path` representing the HTTP method can be 8, the field name can be `http_paths`, and the type can be a string array; it is optional when generating method definition information. The `id` field corresponding to the supported HTTP request methods can be 9, the field name can be `http_methods`, and the type can be a string array; it is optional when generating method definition information. Similarly, the above method definition information can only be generated based on the required objects.

[0099] Furthermore, in order to determine the above type definition information, in this embodiment, the above protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol, obtain the corresponding type name and field definition information, and generate the above type definition information based on the type name and field definition information.

[0100] For easier understanding, please refer to Table 6 below.

[0101]

[0102] Table 6

[0103] As shown in Table 6 above, the field id corresponding to the type name can be 1, the field name can be name, and the type can be string. It is required when generating type definition information. The field id corresponding to the field definition information can be 2, the field name can be fields, and the type can be a FieldDescriptor array. It is required when generating type definition information.

[0104] Furthermore, in order to determine the above field definition information, in this embodiment, the above protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding field name, current field ID, field type, full name of the type when the field type is TYPE_MESSAGE, and field description information, and generate the above field definition information based on the field name, current field ID, field type, full name of the type when the field type is TYPE_MESSAGE, and field description information.

[0105] For easier understanding, please refer to Table 7 below.

[0106]

[0107] Table 7

[0108] As shown in Table 7 above, the field ID corresponding to the field name can be 1, the field name can be name, and the type can be string, which is required when generating field definition information; the field ID of the current field ID can be 3, the field name can be number, and the type can be int32, which is also required when generating field definition information; the field ID of the field type can be 5, the field name can be type, and the type can be FieldDescriptor.Type, which is optional when generating field definition information; when the field type is TYPE_MESSAGE, the field ID representing the fully qualified name of the type can be 6, the field name can be type_name, and the type can be string, which is optional when generating field definition information; the field ID of the field description information can be 7, the field name can be description, and the type can be string, which is optional when generating field definition information; similarly, the above field definition information can only be generated based on the required objects.

[0109] Furthermore, the above field types can represent the types corresponding to the fields. As the microservice framework to be governed expands, the field types can also be expanded on their own. Please refer to Table 8 below for an explanation. Table 8 only provides examples of field types.

[0110]

[0111] Table 8

[0112] As shown in Table 8 above, the field IDs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, and 18 are enumerated, with corresponding field names TYPE_UNSPECIFIED, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT64, TYPE_UINT64, TYPE_INT32, TYPE_FIXED64, TYPE_FIXED32, TYPE_BOOL, TYPE_STRING, TYPE_MESSAGE, TYPE_BYTES, TYPE_UINT32, TYPE_ENUM, and TYPE_SFIXE. D32, TYPE_SFIXED64, TYPE_SINT32, and TYPE_SINT64 are described as default values, indicating no type specified; double, float, int64, uint64, int32, fixed64, fixed32, bool, string, and message are user-defined composite types; bytes represent the number of bytes; uint32, enumeration types; sfixed32 (32-bit fixed-length value); sfixed64 (64-bit fixed-length value); and sint32 and sint64 are also mentioned.

[0113] Furthermore, in order to determine the above node information, in this embodiment, the above protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding node identification information, the region information of the marker node, the business tag of the node, the cluster where the node is located, and the environment where the node is located, and generate the above node information based on the node identification information, the region information of the marker node, the business tag of the node, the cluster where the node is located, and the environment where the node is located.

[0114] For easier understanding, please refer to Table 9 below.

[0115]

[0116] Table 9

[0117] As shown in Table 9 above, the id field for node identification information can be 1, the field name can be identifier, and the type can be Nodeldentifier. It is required when generating node information. The id field for identifying the region where the node is located can be 4, the field name can be locality, and the type can be Locality. It is required when generating node information. The id field for the node's business tag can be 5, the field name can be tag, and the type can be string. It is required when generating node information. The id field for the cluster where the node is located can be 6, the field name can be cluster, and the type can be string. It is required when generating node information. The id field for the environment where the node is located can be 7, the field name can be env, and the type can be string. It is required when generating node information. Similarly, the above node information can only be generated based on the required objects.

[0118] Furthermore, in order to determine the above node identification information, in this embodiment, the above protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol, obtain the corresponding node's hostname, process ID, and process start time, and generate the above node identification information based on the node's hostname, process ID, and process start time.

[0119] For easier understanding, please refer to Table 10 below.

[0120]

[0121] Table 10

[0122] As shown in Table 10 above, the id field for the hostname of the node can be 1, the field name can be host_name, and the type can be string. It is required when generating node identification information; the id field for the process ID can be 2, the field name can be pid, and the type can be uint32. It is required when generating node identification information; the id field for the process start time can be 3, the field name can be start_timestamp, and the type can be google.protobuf.Timestamp. It is required when generating node identification information.

[0123] Furthermore, in order to determine the aforementioned service listening address, in this embodiment, the aforementioned protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol, obtain the corresponding listening IP address and listening port number, and generate the aforementioned service listening address based on the listening IP address and listening port number.

[0124] For easier understanding, please refer to Table 11 below.

[0125] 1 address string Required Listening to IP address 2 port_value uint32 Required Listening port number

[0126] Table 11

[0127] As shown in Table 11 above, the id field for the listening IP address can be 1, the field name can be address, and the type can be string. It is required when generating the service listening address. The id field for the listening port number can be 2, the field name can be port_value, and the type can be uint32. It is required when generating the service listening address.

[0128] Furthermore, in order to determine the location information of the aforementioned marker node, in this embodiment, the aforementioned protocol conversion module can also be used to extract information from the standardized service configuration through a preset service metadata protocol, obtain the region where the corresponding node is deployed and the availability zone where the node is deployed, and generate the location information of the aforementioned marker node based on the region where the node is deployed and the availability zone where the node is deployed.

[0129] For easier understanding, please refer to Table 12 below.

[0130]

[0131] Table 12

[0132] As shown in Table 12 above, the field id of the region deployed by the node can be 2, the field name can be region, and the type can be string. It is required when generating the region information of the marker node; the field id of the availability zone deployed by the node can be 3, the field name can be zone, and the type can be string. It is required when generating the region information of the marker node.

[0133] In this embodiment, the protocol conversion module described above can extract information from the standardized service configuration to obtain the corresponding unique application identifier, node information, and service metadata. Based on the unique application identifier, node information, and service metadata, a service metadata request is generated. The service metadata request is responded to to obtain the corresponding unified standardized service configuration. At the same time, the distribution method is determined according to the preset service governance rule protocol, and the configuration is distributed according to the determined distribution method.

[0134] Reference Figure 5 , Figure 5 This is a schematic diagram of the structure of the third embodiment of the heterogeneous microservice framework governance method of the present invention. Based on the above embodiments, the third embodiment of the heterogeneous microservice framework governance method of the present invention is proposed.

[0135] like Figure 5 As shown, in order to obtain a unified and standardized service configuration, in this embodiment, the above-mentioned protocol conversion module is also used to generate a service registration protocol and a discovery communication protocol according to a preset service registration and discovery protocol;

[0136] The data plane module is also used to register the microservice framework to be governed based on the service registration protocol;

[0137] The data plane module is also used to send the unified service governance configuration to the corresponding microservice framework to be governed for configuration and application based on the discovery communication protocol after registration.

[0138] It should be noted that the preset specification protocol in this embodiment may also include a preset service registration and discovery protocol. The preset service registration and discovery protocol can be used to define the service registration protocol and discovery communication protocol between services, so that the data plane module can register the service framework to be governed based on the service registration protocol, and after registration, it can achieve interconnection and interoperability with the service framework to be governed through the discovery communication protocol, thereby sending the unified service governance configuration to the microservice framework to be governed.

[0139] Understandably, the generation method of the aforementioned preset service registration discovery protocol can also refer to the aforementioned preset service metadata protocol, and the specific settings can be customized according to the actual situation.

[0140] Furthermore, in order to smoothly display the application results, in this embodiment, the protocol conversion module is also used to determine the observable data format through a preset service observable protocol;

[0141] The data plane module is also used to display the configuration application results according to the observable data format.

[0142] It should be understood that the aforementioned preset specification protocol may also include a preset service observability protocol, which can define the data format of service observability, namely the aforementioned observable data format, and display it through the aforementioned observable data format, laying the foundation for functions such as link tracing and service care capability visualization.

[0143] It should also be noted that the generation method of the above-mentioned preset service observability protocol can also refer to the above-mentioned preset service metadata protocol, and can be set according to the actual situation.

[0144] Furthermore, in order to monitor the results, in this embodiment, the protocol conversion module is also used to determine the monitoring method through the preset service governance rule protocol;

[0145] The data plane module is also used to monitor the application results according to the monitoring method.

[0146] Understandably, the aforementioned preset service governance rules protocol can also define how the data plane listens to the service governance configuration information, that is, determine the aforementioned listening method and listen to the application results through the aforementioned listening method.

[0147] It should be emphasized that the aforementioned preset service metadata protocol can also be used to determine heartbeat information, which can be used to ensure the effectiveness of service metadata.

[0148] Furthermore, referring to Figure 6 , Figure 6 This is a schematic diagram of the deployment mode in the third embodiment of the heterogeneous microservice framework governance method of the present invention, as shown below. Figure 6 The ETCD (Etcd Distributed Key Value Store) system can interact with Kubernetes CR (Custom Resource) to store governance rules and read them from ETCD. The governance rules can include the definition of basic concepts in service governance and the definition of governance rules. Then, it interacts with Pilot through the Kubernetes API server. Pilot is responsible for injecting unified service governance access information through environment variables, receiving and forwarding reporting information, and issuing governance rules.

[0149] Continue as Figure 6 As shown, MySQL can interact with the Unified Service Governance Dashboard, which is responsible for receiving and storing service reports, displaying service status, and configuring service governance rules. The Unified Service Governance Dashboard can interact with Pilot via the gRPC protocol.

[0150] Pilot can interact with business processes through the aforementioned preset specification protocol, including reporting service contracts and status data, and pulling service governance configuration information. The preset specification protocol can be described based on gRPC and includes the reporting specifications and the format for issuing governance rules in service governance.

[0151] This embodiment establishes standards for different microservice frameworks and communication protocols through a preset metadata protocol, a preset service registration and discovery protocol, a preset service observability protocol, and a preset service governance rule protocol.

[0152] Furthermore, this invention also proposes a heterogeneous microservice framework governance device, referring to... Figure 7 , Figure 7 This is a schematic diagram of the heterogeneous microservice framework governance device structure of the hardware operating environment involved in the embodiments of the present invention.

[0153] like Figure 7 As shown, the heterogeneous microservice framework governance device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to implement communication between these components. The user interface 1003 may include a display screen, and optionally, it may also include a standard wired interface or a wireless interface. In this invention, the wired interface of the user interface 1003 may be a USB interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wireless-Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM) or non-volatile memory (NVM), such as a disk storage device. The memory 1005 may also optionally be a storage device independent of the aforementioned processor 1001.

[0154] Those skilled in the art will understand that Figure 7 The structure shown does not constitute a limitation on the governance device of a heterogeneous microservice framework, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0155] like Figure 7 As shown, the memory 1005, which is identified as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a heterogeneous microservice framework management program.

[0156] exist Figure 7 In the heterogeneous microservice framework governance device shown, the network interface 1004 is mainly used to connect to the backend server and communicate with the backend server; the user interface 1003 is mainly used to connect to the user equipment; the heterogeneous microservice framework governance device calls the heterogeneous microservice framework governance program stored in the memory 1005 through the processor 1001 and executes the heterogeneous microservice framework governance method provided in the embodiment of the present invention.

[0157] Based on the above hardware structure, an embodiment of the heterogeneous microservice framework governance method of the present invention is proposed.

[0158] Reference Figure 8 , Figure 8 This is a flowchart illustrating the first embodiment of the heterogeneous microservice framework governance method of the present invention; as shown below. Figure 8 As shown, in this embodiment, the method includes the following steps:

[0159] Step S10: Generate the corresponding standardized service configuration based on the received events to be governed;

[0160] Step S20: Perform protocol conversion on the standardized service configuration through a preset standard protocol to obtain the corresponding unified standardized service configuration;

[0161] Step S30: Send the unified service governance configuration to the corresponding microservice framework to be governed for configuration and application.

[0162] In one implementation, step S10 includes:

[0163] The received events to be governed are converted according to a preset conversion standard to obtain the corresponding standardized service configuration.

[0164] This embodiment receives governance events from different locations through the control plane module and converts them into standardized service configurations using a preset conversion standard. The obtained standardized service configurations are then sent to the protocol conversion module. The protocol conversion module receives the standardized service configurations and performs protocol conversion on them using a preset standard protocol to obtain the corresponding unified standardized service configuration. The data plane module sends the received unified standardized service configuration to the corresponding microservice framework to be governed for configuration and application. Because this embodiment receives governance events through the control plane and sends corresponding standardized service configurations to the protocol conversion module based on the governance events, and the protocol conversion module performs protocol conversion on the standardized service configurations using a preset standard protocol and sends the obtained unified standardized service configuration to the data plane module, which then sends the unified service configuration to the corresponding microservice framework to be governed for configuration and application, compared to existing methods, this embodiment can obtain unified standardized service configurations based on the governance events. Because the communication protocol is unified, users can achieve unified governance of heterogeneous microservice frameworks without worrying about underlying differences, thereby improving the convenience of unified governance of heterogeneous microservice frameworks.

[0165] Based on the first embodiment of the heterogeneous microservice framework governance method of the present invention, a second embodiment of the heterogeneous microservice framework governance method of the present invention is proposed.

[0166] In this embodiment, step S20 includes:

[0167] Step S21: Perform protocol conversion on the standardized service configuration through a preset service metadata protocol to obtain the corresponding unified standardized service configuration.

[0168] In one implementation, step S21 includes:

[0169] Information is extracted from the standardized service configuration through a preset service metadata protocol to obtain the corresponding unique application identifier, node information, and service metadata.

[0170] A service metadata request is generated based on the unique application identifier, the node information, and the service metadata information, and the corresponding unified standardized service configuration is obtained based on the service metadata response, wherein the service metadata response is generated based on the service metadata request.

[0171] As one implementation method, before the steps of obtaining the corresponding unique application identifier, node information, and service metadata, the method further includes:

[0172] Information is extracted from the standardized service configuration through a preset service metadata protocol to obtain the corresponding service listening address, service supported communication protocol, and service contract information.

[0173] The service metadata is generated based on the service listening address, the service supported communication protocol, and the service contract information.

[0174] Based on the above embodiments of the heterogeneous microservice framework governance method of the present invention, a third embodiment of the heterogeneous microservice framework governance method of the present invention is proposed.

[0175] In this embodiment, before step S21, the following steps are also included:

[0176] Generate a service registration protocol and a discovery communication protocol based on the preset service registration and discovery protocol;

[0177] The microservice framework to be governed is registered based on the service registration protocol.

[0178] Accordingly, step S21 above includes:

[0179] After registration, the unified service governance configuration is sent to the corresponding microservice framework to be governed for configuration and application based on the discovery communication protocol.

[0180] In one implementation, after step S21, the method further includes:

[0181] The observable data format is determined by the preset service observable protocol;

[0182] Accordingly, after step S10 above, the following steps are also included:

[0183] The configuration application results are displayed according to the observable data format described.

[0184] In one implementation, after step S21, the method further includes:

[0185] The monitoring method is determined by the preset service governance rule protocol;

[0186] Accordingly, after step S10 above, the following steps are also included:

[0187] The application results are monitored according to the described monitoring method.

[0188] Other embodiments or specific implementations of the heterogeneous microservice framework governance method described in this invention can be found in the above-described system embodiments, and will not be repeated here.

[0189] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0190] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0191] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as a read-only memory image (ROM) / random access memory (RAM), magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0192] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.< / port> < / ip>

Claims

1. A heterogeneous microservice framework governance system, characterized in that, The system includes: a control plane module, a protocol conversion module, and a data plane module; The control plane module is used to send the corresponding standardized service configuration to the protocol conversion module according to the received events to be governed; The protocol conversion module is further configured to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding unique application identifier, node information, and service metadata; generate a service metadata request based on the unique application identifier, the node information, and the service metadata, and obtain the corresponding unified standardized service configuration based on the service metadata response. The service metadata response is generated based on the service metadata request. The unique application identifier is used to identify the application involved in the service metadata request. The node information is information related to nodes or servers in the service metadata request. The service metadata is information corresponding to the metadata describing the service in the service metadata request. The preset service metadata protocol is a protocol used to exchange service metadata. The data plane module is used to receive the unified standardized service configuration and send the unified standardized service configuration to the corresponding microservice framework to be governed for configuration and application. The protocol conversion module is further configured to extract information from the standardized service configuration through the preset service metadata protocol to obtain the hostname, process ID, process start time, region information of the marker node, service tag of the node, cluster of the node, and environment of the node. Based on the hostname, process ID, and process start time of the node, node identification information is generated. Based on the node identification information, region information of the marker node, service tag of the node, cluster of the node, and environment of the node, node information is generated.

2. The heterogeneous microservice framework governance system as described in claim 1, characterized in that, The protocol conversion module is also used to convert the standardized service configuration through a preset service metadata protocol to obtain the corresponding unified standardized service configuration. The protocol conversion module is further configured to determine the distribution method through a preset service governance rule protocol, and distribute the unified standardized service configuration to the data plane module according to the distribution method.

3. The heterogeneous microservice framework governance system as described in claim 2, characterized in that, The protocol conversion module is also used to generate a service registration protocol and a discovery communication protocol based on a preset service registration and discovery protocol; The data plane module is also used to register the microservice framework to be governed based on the service registration protocol; The data plane module is also used to send the unified standardized service configuration to the corresponding microservice framework to be governed for configuration and application based on the discovery communication protocol after registration.

4. The heterogeneous microservice framework governance system as described in claim 2, characterized in that, The protocol conversion module is also used to determine the observable data format through a preset service observable protocol; The data plane module is also used to display the configuration application results according to the observable data format.

5. The heterogeneous microservice framework governance system as described in claim 4, characterized in that, The protocol conversion module is also used to determine the listening method through the preset service governance rule protocol; The data plane module is also used to monitor the configuration application results according to the monitoring method.

6. The heterogeneous microservice framework governance system as described in claim 5, characterized in that, The protocol conversion module is also used to extract information from the standardized service configuration through a preset service metadata protocol to obtain the corresponding service listening address, service supported communication protocol and service contract information. The protocol conversion module is also used to generate the service metadata based on the service listening address, the service supported communication protocol, and the service contract information.

7. The heterogeneous microservice framework governance system as described in any one of claims 1 to 6, characterized in that, The control plane module is further configured to convert the received events to be governed according to a preset conversion standard, obtain the corresponding standardized service configuration, and send the standardized service configuration to the protocol conversion module.

8. A method for governing heterogeneous microservice frameworks, characterized in that, The method includes the following steps: Generate corresponding standardized service configurations based on the received events to be managed; Information is extracted from the standardized service configuration through a preset service metadata protocol to obtain the corresponding unique application identifier, node information, and service metadata. A service metadata request is generated based on the unique application identifier, the node information, and the service metadata information, and the corresponding unified standardized service configuration is obtained based on the service metadata response. The service metadata response is generated based on the service metadata request. The unique application identifier is used to identify the application involved in the service metadata request. The node information is information related to nodes or servers in the service metadata request. The service metadata information is information corresponding to the metadata describing the service in the service metadata request. The unified standardized service configuration is sent to the corresponding microservice framework to be governed for configuration and application. The step of extracting information from the standardized service configuration through a preset service metadata protocol to obtain node information includes: Information is extracted from the standardized service configuration through the preset service metadata protocol to obtain the hostname, process ID, process start time, region information of the marker node, service tag of the node, cluster of the node, and environment of the node. Node identification information is generated based on the hostname, process ID, and process start time of the node. Node information is also generated based on the node identification information, region information of the marker node, service tag of the node, cluster of the node, and environment of the node.

9. A heterogeneous microservice framework governance device, characterized in that, The device includes: a memory, a processor, and a heterogeneous microservice framework governance program stored in the memory and executable on the processor, the heterogeneous microservice framework governance program being configured to implement the steps of the heterogeneous microservice framework governance method as described in claim 8.