Application multi-activity system, application disaster recovery management method and computer equipment
By introducing the binding of traffic nodes and data cluster components and selecting strategies to control traffic allocation in the application multi-active system, the problem that the application of multi-active system architecture in the existing technology is difficult to meet the high availability requirements, and the flexibility of the data cluster architecture is realized Reorganize and expand.
Patent Information
- Application Number
- CN202411644817.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-11-18
AI Technical Summary
The existing multi-active system architecture is difficult to meet the high availability needs of the business, and once the architecture is determined, it is difficult to change and cannot adapt to the dynamic changes of the business.
It provides a multi-active application system that binds first-level, second-level and third-level traffic nodes to gateways, applications and database components in the data cluster, and uses selection policies to control traffic allocation to realize the reorganization and expansion of the data cluster architecture.
It realizes flexible reorganization and expansion of each data cluster architecture, can adapt to the high availability needs of the business, and reduces the cost and complexity of architecture changes.
Smart Images

Figure CN119520245A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to an application multi-active system, an application disaster recovery management method and a computer device. Background Art
[0002] Application multi-active is an advanced form of application disaster recovery technology, which means establishing a production system that partially or completely corresponds to the local production system in a local or remote data center, and all applications in the data center provide services to the outside world at the same time. When a disaster occurs, the multi-active system can switch business traffic within minutes, and users may not even feel the disaster. It is a basic method to achieve business-level disaster recovery.
[0003] However, the architecture of the multi-active application system in related technologies is a fixed mode, which is difficult to meet the current high availability requirements of the business. Summary of the invention
[0004] Based on this, it is necessary to provide an application multi-active system, application disaster recovery management method and computer equipment that can meet the high availability requirements of the business in response to the above technical problems.
[0005] In a first aspect, the present application provides an application multi-active system, the application multi-active system comprising at least one application multi-active architecture and multiple data clusters, the data cluster comprising a gateway component, an application component and a database component; the application multi-active architecture comprises:
[0006] A first-level traffic node, bound to a gateway component in a corresponding data cluster, for controlling the gateway component to receive traffic according to a first selection strategy and distributing traffic entering the gateway component;
[0007] A secondary traffic node, bound to an application component in a corresponding data cluster, for controlling the application component to receive traffic distributed by the gateway component according to a second selection strategy, and distributing the received traffic of the application component;
[0008] The third-level traffic node is bound to the database component in the corresponding data cluster and is used to control the database component to receive the traffic distributed by the application component;
[0009] Among them, the first-level traffic node is also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster, and the second-level traffic node is also used to control the corresponding application component to distribute traffic to at least one database component in the data cluster.
[0010] In one of the embodiments, the application multi-active architecture corresponds to the data cluster, and the number of the application multi-active architecture is less than or equal to the number of the data cluster.
[0011] In one embodiment, the application component includes an application instance; the secondary traffic node includes a secondary traffic sub-node, each of the secondary traffic sub-nodes is respectively bound to each application instance in the corresponding data cluster, and the secondary traffic sub-node is used to control the application instance to receive the traffic distributed by the gateway component according to a second sub-selection strategy, and distribute the received traffic of the application instance; wherein, at least some of the secondary traffic sub-nodes correspond to different second sub-selection strategies.
[0012] In one of the embodiments, the database component includes a data instance, the third-level traffic node includes a third-level traffic sub-node, each of the third-level traffic sub-nodes is respectively bound to each data instance in the corresponding data cluster, and the third-level traffic sub-node is used to control the data instance to receive the traffic distributed by the application component.
[0013] In one embodiment, the first selection strategy includes a first write control strategy and / or a first distribution control strategy, wherein the first write control strategy is used to instruct the first-level traffic node to control the gateway component to receive traffic, and the first distribution control strategy is used to instruct the first-level traffic node to control the gateway component to distribute traffic to a target application component, wherein the target application component is an application component included in at least one of the data clusters.
[0014] In one embodiment, the second selection strategy includes a second write control strategy and / or a second distribution control strategy, the second write control strategy is used to instruct the secondary traffic node to control the application component to receive traffic, and the second distribution control strategy is used to instruct the secondary traffic node to control the application component to distribute traffic to a target database component, and the target database component is a database component included in at least one of the data clusters.
[0015] In a second aspect, the present application provides an application disaster recovery management method, which is applied to the application multi-active system described in any one of the above embodiments; the method comprises:
[0016] In case of receiving the extension instruction, searching for an idle data cluster in the application multi-active system, where the idle data cluster indicates a data cluster that has no corresponding application multi-active architecture;
[0017] In the case where there is at least one idle data cluster, determining a target data cluster from each idle data cluster;
[0018] A target application multi-active architecture is built corresponding to the target data cluster to realize traffic interaction between the target data cluster and the remaining non-idle data clusters through the target application multi-active architecture and the application multi-active architectures corresponding to the remaining non-idle data clusters.
[0019] In a third aspect, the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the steps of the application disaster recovery management method described in the above embodiment when executing the computer program.
[0020] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the application disaster recovery management method described in the above embodiment.
[0021] In a fifth aspect, the present application provides a computer program product, including a computer program, characterized in that when the computer program is executed by a processor, the steps of the application disaster recovery management method described in the above embodiment are implemented.
[0022] The above-mentioned application multi-active system, application disaster recovery management method and computer equipment include at least one application multi-active architecture and multiple data clusters, wherein the data cluster has a gateway component, an application component and a database component, and the application multi-active architecture includes a primary traffic node, a secondary traffic node and a tertiary traffic node. The primary traffic node is bound to the gateway component in the corresponding data cluster and is used to control the gateway component to receive traffic according to a first selection strategy and distribute the traffic entering the gateway component. The primary traffic node is also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster; the secondary traffic node is bound to the application component in the corresponding data cluster and is used to control the application component according to a second selection strategy. The component receives the traffic distributed by the gateway component and distributes the traffic received by the application component. The secondary traffic node is also used to control the corresponding application component to distribute the traffic to at least one database component in the data cluster; the tertiary traffic node is bound to the corresponding database component in the data cluster, and is used to control the database component to receive the traffic distributed by the application component; the present application binds the gateway component, application component and database component in the data cluster to the traffic nodes at each level respectively, and controls each component in the data cluster to select which traffic to receive and to which component to distribute the traffic through the control strategy of the traffic node, so as to achieve the architectural reorganization and expansion of each data cluster, thereby being able to adapt to the high availability requirements of the business. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0024] FIG1 is a schematic diagram of a structure of a multi-active mode applied in the related art;
[0025] FIG2 is a schematic diagram of the structure of a multi-active system in one embodiment of the present application;
[0026] FIG3 is a schematic diagram of the structure of a multi-active system applied in another embodiment of the present application;
[0027] FIG4 is a schematic diagram of a process for applying a disaster recovery management method in an embodiment of the present application;
[0028] FIG. 5 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0029] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0030] Application multi-active is an advanced form of application disaster recovery technology, which means establishing a production system that partially or completely corresponds to the local production system in a local or remote data center, and all applications in the data center provide services to the outside world at the same time. When a disaster occurs, the multi-active system can switch business traffic within minutes, and users may not even feel the disaster. It is a basic method to achieve business-level disaster recovery.
[0031] The mainstream application multi-active product services in the industry mostly adopt the solution of architecture plus control. In terms of architecture, the business is generally divided into three parts: access layer, application layer and data layer. Among them, the access layer undertakes business traffic and realizes traffic identification and distribution; the application layer contains the main link of business traffic, such as application service call and application middleware access management, and has three core functions of routing, protection and isolation; the data layer refers to application data storage, synchronization and switching. Control integrates the aforementioned layered components, arranges the process according to the application architecture, and realizes traffic allocation on the basis of ensuring data consistency.
[0032] Based on the distribution of business data, please refer to Figure 1. There are currently three common application multi-active modes: data single cluster mode, data master-slave cluster mode, and data master-master cluster mode. The data single cluster mode refers to the data layer components building a single cluster locally across computer rooms (or availability zones), and the business traffic is highly available across computer rooms (or availability zones); the data master-slave cluster mode refers to independent data clusters in each center, the main center data cluster provides read and write services, builds one-way data synchronization, business data is redundant across centers, and business traffic is highly available across centers; the data master-master cluster mode refers to independent data clusters in each center, business data is sharded according to rules, bidirectional data synchronization or star-shaped data synchronization is built, and business traffic is closed in the center, that is, a unitized solution.
[0033] Since control is built on the architecture, during the specific implementation, the application is required to be transformed according to the predetermined architecture to adapt to the corresponding solution. This model requires the implementers to use the application to follow the preset solution, which has a high learning and understanding cost. At the same time, whether it is a single data cluster mode, a data master-slave cluster mode, or a data master-master cluster mode, each architecture corresponds to a set of dedicated control, so once the architecture is determined, it cannot be changed, and the established architecture may not meet the current high availability requirements of the business. In order to adapt to business development, it is necessary to re-match the architecture, transform the application, and rebuild the entire multi-active metadata, which is costly.
[0034] In an exemplary embodiment, please refer to FIG. 2 , the present application provides an application multi-active system, the application multi-active system includes at least one application multi-active architecture and multiple data clusters, the data cluster includes a gateway component, an application component and a database component.
[0035] The application multi-active architecture of the present application includes at least a first-level traffic node, a second-level traffic node and a third-level traffic node. Among them, the first-level traffic node is bound to the gateway component in the corresponding data cluster, and is used to control the gateway component to receive traffic according to the first selection strategy, and distribute the traffic entering the gateway component; the second-level traffic node is bound to the application component in the corresponding data cluster, and is used to control the application component to receive the traffic distributed by the gateway component according to the second selection strategy, and distribute the traffic received by the application component; the third-level traffic node is bound to the database component in the corresponding data cluster, and is used to control the database component to receive the traffic distributed by the application component; wherein the first-level traffic node is also used to control the corresponding gateway component to distribute traffic to the application component in at least one data cluster, and the second-level traffic node is also used to control the corresponding application component to distribute traffic to the database component in at least one data cluster.
[0036] In one example, please refer to Figure 2, which shows the multi-active architecture of the application and multiple data clusters of the present application in the master-master data cluster mode. It can be seen from Figure 2 that the first-level traffic node corresponds to the gateway component in the master-master data cluster, the second-level traffic node 1 corresponds to the application component 1 in the master-master data cluster, the second-level traffic node 2 corresponds to the application component 2 in the master-master data cluster, the third-level traffic node 1 corresponds to the database component 1 in the master-master data cluster, and the third-level traffic node 2 corresponds to the database component 2 in the master-master data cluster. By defining each traffic node and setting the selection strategy on it, the traffic node can be made to continuously repeat the two questions of "what traffic can I receive" and "where should my traffic go", thereby controlling each component in the physical domain to achieve traffic distribution.
[0037] Specifically, by defining the first selection strategy on the first-level traffic node, it is possible to control what type of traffic the first-level traffic node chooses to receive, and to which application component the received traffic is specifically allocated according to the traffic type. Similarly, by defining the second selection strategy on the second-level traffic node, it is possible to control what type of traffic the second-level traffic node chooses to receive, and to which database component the received traffic is specifically allocated according to the traffic type. In the application, a third selection strategy can also be defined for the third-level traffic node to control what type of traffic the third-level traffic node chooses to receive. Among them, the first selection strategy on different first-level traffic nodes can be different, the second selection strategy on different second-level traffic nodes can be different, and the third selection strategy on different third-level traffic nodes can be different. Furthermore, since the first-level traffic node is bound to the gateway component in the corresponding data cluster, the second-level traffic node is bound to the application component in the corresponding data cluster, and the third-level traffic node is bound to the database component in the corresponding data cluster. Therefore, the gateway component, the application component, and the database component can actually manage the traffic reception and allocation according to the selection strategy of the corresponding traffic node.
[0038] It can be seen that the application multi-active system of the present application has not deviated from the physical bottom layer of the application multi-active, but has redesigned the logical organization form of the application multi-active, decoupling the management of the physical domain from the traditional deployment architecture, that is, it does not use the mainstream hierarchical structure of the access layer, application layer, and data layer, but divides them in the form of traffic nodes, de-emphasizes hierarchical grouping, and emphasizes upstream and downstream links; decouples management from specific components, that is, does not explicitly describe access layer routing, RPC error correction, data write protection and other specific multi-active controls, but uniformly abstracts them into traffic nodes, which are consistent in management. The application multi-active system of the present application can achieve consistency between the perspective of traffic scheduling and the perception of business continuity, which is convenient for relevant technical personnel to understand and learn.
[0039] In addition, the present application also realizes the decoupling of management and disaster recovery architecture, that is, whether it is a basic multi-active architecture or a combined multi-active architecture, traffic scheduling is uniformly abstracted into a selection strategy, so that the reorganization of the data cluster mode can be realized. In an example, according to the type of data cluster, the data cluster can be divided into a single data cluster, a data master cluster, and a data backup cluster. The single data cluster mode means that the system includes only one single data cluster, the data master-standby cluster mode means that the system includes a main data cluster and a data backup cluster, and the data master-master cluster mode means that the system includes two main data clusters. Assuming that the application multi-active system includes two independent single data clusters (a first single data cluster and a second data cluster), the two independent single data clusters correspond to a set of application multi-active architectures respectively. By rewriting the second selection strategy of the secondary traffic node in the application multi-active architecture corresponding to the second data cluster, the application component in the second single data cluster can distribute the traffic to the database component in the first single data cluster, thereby realizing the combination of the two independent single data clusters into a data master-standby cluster mode, realizing the architecture reorganization and expansion of the data cluster, and adapting to the high availability requirements of the business.
[0040] The above-mentioned application multi-active system, application disaster recovery management method and computer equipment include at least one application multi-active architecture and multiple data clusters, wherein the data cluster has a gateway component, an application component and a database component, and the application multi-active architecture includes a primary traffic node, a secondary traffic node and a tertiary traffic node. The primary traffic node is bound to the gateway component in the corresponding data cluster and is used to control the gateway component to receive traffic according to a first selection strategy and distribute the traffic entering the gateway component. The primary traffic node is also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster; the secondary traffic node is bound to the application component in the corresponding data cluster and is used to control the application component according to a second selection strategy. The component receives the traffic distributed by the gateway component and distributes the traffic received by the application component. The secondary traffic node is also used to control the corresponding application component to distribute the traffic to at least one database component in the data cluster; the tertiary traffic node is bound to the corresponding database component in the data cluster, and is used to control the database component to receive the traffic distributed by the application component; the present application binds the gateway component, application component and database component in the data cluster to the traffic nodes at each level respectively, and controls each component in the data cluster to select which traffic to receive and to which component to distribute the traffic through the control strategy of the traffic node, so as to achieve the architectural reorganization and expansion of each data cluster, thereby being able to adapt to the high availability requirements of the business.
[0041] In an exemplary embodiment, the application multi-active architecture corresponds to the data cluster, and the number of the application multi-active architecture is less than or equal to the number of the data cluster.
[0042] In this embodiment, a set of application multi-active architecture can correspond to one data cluster, and the number of application multi-active architectures in the application multi-active system of the present application is less than or equal to the number of data clusters. Exemplarily, the data cluster in the application multi-active system that is equipped with the application multi-active architecture is a non-idle data cluster, and the data cluster that is not equipped with the application multi-active architecture is an idle data cluster. The non-idle data clusters can be combined to form a data master-slave cluster mode or a data master-master cluster mode, or they can operate independently in a data single cluster mode. When it is necessary to expand the non-idle data cluster, one or more target data clusters can be found from the idle data cluster and combined with the non-idle data cluster for expansion, so as to adapt to the distribution requirements of business traffic.
[0043] In an exemplary embodiment, please refer to FIG. 3 , the application component includes an application instance, and the database component includes a data instance. The secondary traffic node includes a secondary traffic sub-node, each of which is respectively bound to each application instance in the corresponding data cluster, and the secondary traffic sub-node is used to control the application instance to receive the traffic distributed by the gateway component according to the second sub-selection strategy, and distribute the received traffic of the application instance; wherein, the second sub-selection strategies corresponding to at least some of the secondary traffic sub-nodes are different. The tertiary traffic node includes a tertiary traffic sub-node, each of which is respectively bound to each data instance in the corresponding data cluster, and the tertiary traffic sub-node is used to control the data instance to receive the traffic distributed by the application component.
[0044] In an application, in a data cluster, an application component may include at least one application instance, and a database component may also include at least one data instance. The application instance is bound to a secondary traffic subnode in a corresponding application multi-active architecture, and the data instance is bound to a tertiary traffic subnode in a corresponding application multi-active architecture. Each secondary traffic subnode has a second sub-selection strategy to control what kind of traffic the corresponding application instance receives and where the received traffic is distributed. Each tertiary traffic subnode may also have a third sub-selection strategy to control what kind of traffic the corresponding data instance receives.
[0045] In an exemplary embodiment, the first selection strategy includes a first write control strategy and / or a first distribution control strategy, the first write control strategy is used to instruct the first-level traffic node control gateway component to receive traffic, and the first distribution control strategy is used to instruct the first-level traffic node control gateway component to distribute traffic to the target application component, and the target application component is an application component included in at least one data cluster.
[0046] The second selection strategy includes a second write control strategy and / or a second distribution control strategy. The second write control strategy is used to instruct the secondary traffic node control application component to receive traffic. The second distribution control strategy is used to instruct the secondary traffic node control application component to distribute traffic to the target database component, which is a database component included in at least one data cluster.
[0047] It can be understood that the first write control strategy is used to define what type of traffic the first traffic node receives, so that the first-level traffic node controls the gateway component to receive the corresponding type of traffic, and the first distribution control strategy is used to define which application component the first traffic node will distribute the received traffic to, so that the first-level traffic node controls the gateway component to distribute traffic to the corresponding application component. Similarly, the second write control strategy is used to define what type of traffic the second traffic node receives, so that the second-level traffic node controls the application component to receive the corresponding type of traffic, and the second distribution control strategy is used to define which database component the second traffic node will distribute the received traffic to, so that the second-level traffic node controls the application component to distribute traffic to the corresponding database component.
[0048] Similarly, the second sub-selection strategy of the secondary traffic sub-node includes a second write control sub-strategy and / or a second distribution control sub-strategy. The second write control sub-strategy is used to define what type of traffic the second sub-traffic node receives, so that the secondary sub-traffic node controls what type of traffic the corresponding application instance receives. The second distribution control sub-strategy defines which data instance the second sub-traffic node will allocate the received traffic to, so that the secondary traffic node controls the application instance to allocate traffic to the corresponding data instance.
[0049] In the application, for a traffic node or traffic sub-node, you can define its node type (node_type), node group (group_id), write control strategy (enter_strategy), and distribution control strategy (select_strategy). By defining its node type, you can bind it to a specific component or instance. By defining its node group, you can facilitate routing rule configuration.
[0050] In an example, assuming that the data cluster includes a gateway component gw1, an application component svr_g1 (including application instances svr1 and svr2), and a data instance db1, for the first-level traffic node corresponding to the gateway component gw1, its node type node_type is defined as gateway, and its node identifier node_id is defined as gw1 to bind this first-level traffic node to the gateway component gw1. The first write control strategy and / or the first distribution control strategy can also be defined for this first-level traffic node. Exemplarily, the first write control strategy enter_strategy of the first-level traffic node is defined as {"strategy_name":header", "key":"op", "value":"*"}, and the first distribution control strategy select_strategy of the first-level traffic node is defined as {"strategy_name":"group","group_id":"svr_g1"}.
[0051] For the secondary traffic sub-node corresponding to the application instance svr1, define its node type node_type as server, define its node identifier node_id as svr1 to bind this secondary traffic sub-node to the application instance svr1, define its node group group_id as svr_g1, and also for this secondary traffic sub-node and its second write control sub-strategy and / or second distribution control sub-strategy, exemplarily define the second distribution control sub-strategy select_strategy of the secondary traffic sub-node as {"strategy_name":"db_all","db_id":"db1"}.
[0052] For the secondary traffic sub-node corresponding to the application instance svr2, define its node type node_type as server, define its node identifier node_id as svr2, so as to bind this secondary traffic sub-node to the application instance svr2, define its node group group_id as svr_g1, and also for this secondary traffic sub-node and its second write control sub-strategy and / or second distribution control sub-strategy, exemplarily define the second distribution control sub-strategy select_strategy of the secondary traffic sub-node as {"strategy_name":"db_all","db_id":"db1"}.
[0053] For the third-level traffic sub-node corresponding to the data instance db1, its node type node_type is defined as database, and its node identifier node_id is defined as db1, so as to bind this third-level traffic sub-node to the data instance db1.
[0054] In an exemplary embodiment, please continue to refer to Figures 2 and 3. The application multi-active system of the present application also includes a control device, and the application components are respectively connected to a corresponding proxy component, and the control component is respectively connected to each proxy component and the gateway component. Specifically, the proxy component may include at least one proxy device, and the proxy device is connected to the corresponding application instance. The mapping channel from the logical domain to the physical domain is realized through the proxy component and the control component. The mapping channel from the logical domain to the physical domain is also the management channel of the component instance. The management channel can be divided into two categories: one is the instruction channel, for example, it can be realized by the control device calling the control interface of the gateway component, and the other is the proxy channel, for example, it can be realized by the control device and the proxy device jointly.
[0055] In an exemplary embodiment, the present application provides an application disaster recovery management method, which is applied to the application multi-active system of any of the above embodiments. Referring to FIG4 , the method includes steps S401 to S403 .
[0056] S401: When receiving the extension instruction, searching for idle data clusters in the application multi-active system, where the idle data clusters represent data clusters that do not have corresponding application multi-active architectures.
[0057] It can be understood that the data cluster in the application multi-active system that is equipped with an application multi-active architecture is a non-idle data cluster, and the data cluster that is not equipped with an application multi-active architecture is an idle data cluster. The non-idle data clusters can be combined to form a data master-slave cluster mode or a data master-master cluster mode, or they can operate independently in a data single cluster mode. When it is necessary to expand the non-idle data cluster, one or more target data clusters can be found from the idle data cluster and combined with the non-idle data cluster for expansion, so as to adapt to the distribution requirements of business traffic.
[0058] S402: In the case of at least one idle data cluster, determine a target data cluster from each idle data cluster.
[0059] If there are idle data clusters in the system, one or more target data clusters may be determined from the idle data clusters according to the received specific instructions.
[0060] S403: A target application multi-active architecture is built corresponding to the target data cluster to realize traffic interaction between the target data cluster and the remaining non-idle data clusters through the target application multi-active architecture and the application multi-active architecture corresponding to the remaining non-idle data clusters.
[0061] Since the idle data cluster does not have a matching application multi-active architecture, it is necessary to build a target application multi-active architecture for the target data cluster. After that, by defining the node type (node_type), node grouping (group_id), write control strategy (enter_strategy), distribution control strategy (select_strategy) of each traffic node and / or traffic sub-node in the target application multi-active architecture, traffic interaction can be achieved between the target data cluster and at least one of the remaining non-idle data clusters.
[0062] In a detailed embodiment, the two-site three-center application architecture of a local data single cluster + remote data master-slave cluster mode is taken as an example to illustrate the construction, expansion and flow switching steps of the solution of the present invention:
[0063] First, build an application multi-active architecture according to the data single cluster mode, configure the traffic nodes of the local single cluster mode, generate the initial traffic map, configure the first-level traffic node [lb1] corresponding to the local load balancing instance, the first distribution control strategy is the group polling strategy, the target is [g1], configure the second-level traffic sub-node [svr1] corresponding to the local application instance, define the group [g1], the second distribution control sub-strategy is the specified database strategy, the target is [db1], and configure the third-level traffic sub-node [db1] corresponding to the local data instance. Then, [lb1] binds the local load balancing instance and sets the instruction channel, [svr1] integrates the proxy device to bind the application instance and sets the proxy channel, and [db1] binds the local data instance, only mapping, without setting the channel. Then refresh the traffic map, convert the first distribution control strategy of [lb1] into the load balancing configuration, push it to the instance through the instruction channel, and convert the second distribution control sub-strategy of [svr1] into the database access address, which is pushed to the instance through the proxy channel.
[0064] When the local data single cluster needs to be expanded, configure the new traffic node of the remote master-slave cluster mode and generate the traffic map under the new architecture. First, configure the first-level traffic node [lb2] of the remote load balancing instance, the first distribution control strategy is the group polling strategy, the target is [g2], configure the second-level traffic sub-node [svr2] of the remote application instance, define the group [g2], the second distribution control sub-strategy is the specified database strategy, the target is [db1], and configure the traffic node [db2] of the remote data instance. Similarly, then bind the remote component instance, build the management channel, [lb2] bind the remote load balancing instance, set the instruction channel, [svr2] integrate the proxy device to bind the remote application instance, set the proxy channel, [db2] bind the local data cluster instance, only map, do not set the channel. Then build a one-way synchronous link from [db1] to [db2]. This item is not related to the traffic map, but is related to the flow switching management. Finally, the traffic map is refreshed, and the rules push component instances. Local components do not need to be updated. The first distribution control strategy of [lb2] is converted into a load balancing configuration and pushed to the instance through the instruction channel. The second distribution control sub-strategy of [svr2] is converted into a database access address and pushed to the instance through the proxy channel. At this time, [svr1] and [svr2] both read and write [db1].
[0065] In the application, the multi-active application system of the present application can also realize traffic switching. In an example, the first distribution control strategy of [lb1] can be modified to a conditional grouping strategy, and the grayscale identifier [gray] condition target is added as [lb2], and the default target is [g1]. Then, the first distribution control strategy of [lb1] is converted into a load balancing configuration and pushed to the instance through the instruction channel. At this time, if the traffic carrying the grayscale identifier [gray] falls into the local cluster, it will be forwarded to the remote cluster, thereby realizing traffic error correction.
[0066] In another example, the application multi-active system of the present application can also realize switching between the data primary cluster and the data backup cluster. For example, the second distribution control sub-strategy of [svr1] and [svr2] is modified to a write-disabled strategy, and the rules are pushed to the instance through the proxy channel. At this time, the application instance is completely write-disabled, and then wait for the data synchronization delay to catch up, start the [db2] to [db1] unidirectional synchronization link, and then modify the second distribution control sub-strategy of [svr1] and [svr2] to specify the database strategy, target [db2], and the rules are pushed to the instance through the proxy channel. At this time, the application reads and writes [db2], thereby realizing switching between the data primary cluster and the data backup cluster.
[0067] It should be understood that, although the various steps in the flow chart involved in the above-mentioned embodiment are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flow chart involved in the above-mentioned embodiment may include a plurality of steps or a plurality of stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with at least a portion of the steps or stages in other steps or other steps.
[0068] In an exemplary embodiment, the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the steps of the application disaster recovery management method described in the above embodiment when executing the computer program.
[0069] The computer device may be a terminal, and its internal structure diagram may be shown in FIG5. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected via a system bus, and the communication interface, the display unit, and the input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, an application disaster recovery management method is implemented. The display unit of the computer device is used to form a visually visible picture, which may be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0070] Those skilled in the art will understand that the structure shown in FIG. 5 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0071] In an exemplary embodiment, the present application provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed by a processor, the steps of the application disaster recovery management method described in the above embodiment are implemented.
[0072] In an exemplary embodiment, the present application provides a computer program product, including a computer program, characterized in that when the computer program is executed by a processor, the steps of the application disaster recovery management method described in the above embodiment are implemented.
[0073] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0074] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0075] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0076] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. An application multi-active system, characterized in that: The application multi-active system includes at least one application multi-active architecture and multiple data clusters, and the data cluster includes a gateway component, an application component and a database component; The application multi-active architecture includes: A first-level traffic node, bound to a gateway component in a corresponding data cluster, for controlling the gateway component to receive traffic according to a first selection strategy and distributing traffic entering the gateway component; A secondary traffic node, bound to an application component in a corresponding data cluster, for controlling the application component to receive traffic distributed by the gateway component according to a second selection strategy, and distributing the received traffic of the application component; The third-level traffic node is bound to the database component in the corresponding data cluster and is used to control the database component to receive the traffic distributed by the application component; Among them, the first-level traffic node is also used to control the corresponding gateway component to distribute traffic to at least one application component in the data cluster, and the second-level traffic node is also used to control the corresponding application component to distribute traffic to at least one database component in the data cluster.
2. The application multi-active system according to claim 1, characterized in that: The application multi-active architecture corresponds to the data cluster, and the number of the application multi-active architecture is less than or equal to the number of the data clusters.
3. The application multi-active system according to claim 1, characterized in that: The application component includes an application instance; the secondary traffic node includes a secondary traffic sub-node, each of the secondary traffic sub-nodes is respectively bound to each application instance in the corresponding data cluster, and the secondary traffic sub-node is used to control the application instance to receive the traffic distributed by the gateway component according to a second sub-selection strategy, and distribute the received traffic of the application instance; wherein, the second sub-selection strategies corresponding to at least some of the secondary traffic sub-nodes are different.
4. The application multi-active system according to claim 1, characterized in that: The database component includes a data instance, the third-level traffic node includes a third-level traffic sub-node, each of the third-level traffic sub-nodes is respectively bound to each data instance in the corresponding data cluster, and the third-level traffic sub-node is used to control the data instance to receive the traffic distributed by the application component.
5. The application multi-active system according to claim 1, characterized in that: The first selection strategy includes a first write control strategy and / or a first distribution control strategy, wherein the first write control strategy is used to instruct the first-level traffic node to control the gateway component to receive traffic, and the first distribution control strategy is used to instruct the first-level traffic node to control the gateway component to distribute traffic to a target application component, wherein the target application component is an application component included in at least one of the data clusters.
6. The application multi-active system according to claim 1, characterized in that: The second selection strategy includes a second write control strategy and / or a second distribution control strategy, the second write control strategy is used to instruct the secondary traffic node to control the application component to receive traffic, and the second distribution control strategy is used to instruct the secondary traffic node to control the application component to distribute traffic to a target database component, and the target database component is a database component included in at least one of the data clusters.
7. An application disaster recovery management method, characterized in that: Applied to the multi-active application system according to any one of claims 1 to 6; the method comprises: In case of receiving the extension instruction, searching for an idle data cluster in the application multi-active system, where the idle data cluster indicates a data cluster that has no corresponding application multi-active architecture; In the case where there is at least one idle data cluster, determining a target data cluster from each idle data cluster; A target application multi-active architecture is built corresponding to the target data cluster to realize traffic interaction between the target data cluster and the remaining non-idle data clusters through the target application multi-active architecture and the application multi-active architectures corresponding to the remaining non-idle data clusters.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to claim 7 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to claim 7 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to claim 7 are implemented.
Citation Information
Patent Citations
Cross-node edge calculation load balancing method and device, and readable storage medium
CN114153607A
Application cross-cluster elastic scaling method and system, medium and electronic equipment
CN114666215A
Container deployment method and device in multi-architecture cluster
CN116541134A
Hybrid cloud multi-activity disaster recovery system
CN117082069A
Disaster recovery switching method and device, equipment and storage medium
CN118473907A