CPC G06F 16/27 (2019.01) [G06F 16/182 (2019.01); G06F 16/273 (2019.01); G06F 16/278 (2019.01); H04W 84/20 (2013.01)] | 20 Claims |
1. A non-transitory, computer-readable storage medium, storing program instructions, that when executed by one or more computing devices, cause the one or more computing devices to:
maintain data in a distributed data store, wherein the distributed data store is implemented on a plurality of nodes, wherein the plurality of nodes comprise two or more replicas that make up a replica group, and wherein at most one of two or more replicas in a replica group can act as a master replica for the replica group at a time;
wherein the program instructions when executed by the one or more computing devices further cause a replica of the replica group to:
assume a role of master replica for the replica group;
subsequent to assuming the role of master replica for the replica group, send a message indicating a lease to other replicas in the replica group, wherein the lease represents an authorization of the replica to act as the master replica for the replica group for a lease period;
refrain from servicing consistent read operations directed to the replica group until it is determined the message indicating the lease has been committed in the distributed data store; and
in response to determining that the message indicating the lease has been committed in the distributed data store, begin to service consistent read operations that are directed to the replica group;
wherein the program instructions when executed by the one or more computing devices further cause, prior to the lease period expiring:
another replica of the replica group to assume the role of master replica for the replica group;
the replica to continue to service consistent read operations that are directed to the replica group during the lease period; and
subsequent to the lease period expiring, the other replica to begin to service consistent read operations that are directed to the replica group.
|