FAILOVER MECHANISM IN A DISTRIBUTED COMPUTING SYSTEM
First Claim
1. A method performed by a computing system, comprising:
- receiving a data access request including a dataset from a client computing system at a distributed computing system, the distributed computing system including multiple computing servers hosting a region of data associated with the distributed computing system, the computing servers distributed across multiple clusters, wherein one of the computing servers is a leader server and a remaining of the computing servers are follower servers, and wherein some of the computing servers are active servers, active witness servers and shadow witness servers;
writing, by the leader server, the dataset to a log file at a data storage system associated with the leader server;
replicating, by the leader server, the log file to the follower servers; and
updating, by an active server of the active servers, a distributed data storage system associated with a first cluster of the clusters to which the leader server belongs with the dataset from the log file.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosure is directed to failover mechanisms in a distributed computing system. A region of data is managed by multiple region servers. One of the region servers is elected as a “leader” and the remaining are “followers.” The leader serves the read/write requests from a client. The leader writes the data received from the client into the in-memory store and a local write-ahead log (“WAL”), and synchronously replicates the WAL to the followers. A region server designated as an “active” region server synchronizes a distributed data store with the data from the WAL. Active witness followers apply the data from the WAL to their in-memory store while shadow witness followers do not. Different types of servers provide failover mechanisms with different characteristics. A leader is elected based on their associated ranks—higher the rank, higher the likelihood of electing itself as a leader.
48 Citations
20 Claims
-
1. A method performed by a computing system, comprising:
-
receiving a data access request including a dataset from a client computing system at a distributed computing system, the distributed computing system including multiple computing servers hosting a region of data associated with the distributed computing system, the computing servers distributed across multiple clusters, wherein one of the computing servers is a leader server and a remaining of the computing servers are follower servers, and wherein some of the computing servers are active servers, active witness servers and shadow witness servers; writing, by the leader server, the dataset to a log file at a data storage system associated with the leader server; replicating, by the leader server, the log file to the follower servers; and updating, by an active server of the active servers, a distributed data storage system associated with a first cluster of the clusters to which the leader server belongs with the dataset from the log file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium storing computer-executable instructions, comprising:
-
instructions for selecting one of multiple computing servers in a distributed computing system as a leader server, wherein the leader server is a computing server assigned to serve a read-write request from a client computing system, wherein a remaining of the computing servers are follower servers, and wherein the leader server replicates a log file associated with the leader server to the follower servers, the log file including a data set received from the client computing system; instructions for selecting one of the computing servers as an active server, wherein the active server is a computing server assigned to update a distributed data storage system with a log file associated with the active server; and instructions for selecting some of the computing servers as witness servers, the witness servers including (a) one or more active witness servers that include a replicated copy of the log file and an in-memory store of the leader server and (b) one or more shadow witness servers that include a replicated copy of the log file of the leader server. - View Dependent Claims (16, 17, 18)
-
-
19. A system, comprising:
-
a processor; a first module configured to select; one of multiple computing servers of a distributed computing system as a leader server and a remaining of the computing servers as follower servers, the leader server assigned to serve a data access request from a client computing system, one of the computing servers as an active server, some of the follower servers as active witness servers, the active witness servers including a replicated copy of a log file and an in-memory store of the leader server, and some of the follower servers as shadow witness servers, the shadow witness servers including a replicated copy of the log file of the leader server; a second module configured to cause the leader server to process a data access request received at the distributed computing from a client computing system, the data access request including a dataset; a third module configured to cause the leader server to write the dataset to the log file stored at a data storage system associated with the leader server; a fourth module configured to cause the leader server to replicate the log file and the in-memory store to the active witness servers, and replicate the log file to the shadow witness servers; and a fifth module configured to cause the active server to update a distributed data storage system associated with the active server with the dataset from the log file. - View Dependent Claims (20)
-
Specification