Failover and recovery for replicated data instances
First Claim
1. A system, comprising:
- a plurality of computing nodes, respectively comprising at least one processor and a memory that together implement a control plane for a data store, the control plane configured to;
store data generation information, that identifies a particular generation of replicated data, for each of a primary instance replica and a secondary instance replica, wherein the primary instance replica sends data to the secondary instance replica over a connection between the primary instance replica and the secondary instance replica to perform data replication;
monitor communication over the connection between the primary instance replica and the secondary instance replica and connections between the control plane and the primary instance replica and the control plane and the secondary instance replica; and
perform a type of recovery process responsive to detecting a loss of communication, wherein the type of recovery process is determined based at least in part on the connection over which the loss of communication occurred and respective data generation information, that identifies respective generations of the replicated data, for the primary instance replica and the secondary instance replica.
0 Assignments
0 Petitions
Accused Products
Abstract
Replicated instances in a database environment provide for automatic failover and recovery. A monitoring component can periodically communicate with a primary and a secondary replica for an instance, with each capable of residing in a separate data zone or geographic location to provide a level of reliability and availability. A database running on the primary instance can have information synchronously replicated to the secondary replica at a block level, such that the primary and secondary replicas are in sync. In the event that the monitoring component is not able to communicate with one of the replicas, the monitoring component can attempt to determine whether those replicas can communicate with each other, as well as whether the replicas have the same data generation version. Depending on the state information, the monitoring component can automatically perform a recovery operation, such as to failover to the secondary replica or perform secondary replica recovery.
155 Citations
20 Claims
-
1. A system, comprising:
a plurality of computing nodes, respectively comprising at least one processor and a memory that together implement a control plane for a data store, the control plane configured to; store data generation information, that identifies a particular generation of replicated data, for each of a primary instance replica and a secondary instance replica, wherein the primary instance replica sends data to the secondary instance replica over a connection between the primary instance replica and the secondary instance replica to perform data replication; monitor communication over the connection between the primary instance replica and the secondary instance replica and connections between the control plane and the primary instance replica and the control plane and the secondary instance replica; and perform a type of recovery process responsive to detecting a loss of communication, wherein the type of recovery process is determined based at least in part on the connection over which the loss of communication occurred and respective data generation information, that identifies respective generations of the replicated data, for the primary instance replica and the secondary instance replica. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method, comprising:
performing, by one or more computers, obtaining, by a monitoring component, data generation information, that identifies respective generations of replicated data, for each of a primary instance replica and a secondary instance replica, wherein the primary instance replica sends data to the secondary instance replica over a connection between the primary instance replica and the secondary instance replica to perform data replication; monitoring communication over connections between the monitoring component and the primary instance replica, the monitoring component and the secondary instance replica, and the primary instance replica and the secondary instance replica; and performing a type of recovery process responsive to a loss of communication detected by the monitoring component, wherein the type of recovery process is determined based at least in part on the connection over which the loss of communication occurred and the respective data generation information, that identifies the respective generations of the replicated data, for the primary instance replica and the secondary instance replica. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A non-transitory, computer-readable storage medium, comprising program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
-
obtaining, by a monitoring component, data generation information, that identifies respective generations of replicated data, for each of a primary instance replica and a secondary instance replica, wherein the primary instance replica sends data to the secondary instance replica over a connection between the primary instance replica and the secondary instance replica to perform data replication; monitoring communication over connections between the monitoring component and the primary instance replica, the monitoring component and the secondary instance replica, and the primary instance replica and the secondary instance replica; and performing a type of recovery process responsive to a loss of communication detected by the monitoring component, wherein the type of recovery process is determined based at least in part on the connection over which the loss of communication occurred and the respective data generation information, that identifies the respective generations of the replicated data, for the primary instance replica and the secondary instance replica. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification