摘要 |
Steady state data distribution is provided between a client application, a leader machine, and a plurality of replica machines. The distribution comprises the leader machine receiving an operation request from the client application, the leader machine sending the prepare message to each of the plurality of replica machines, the replica machines recording in their logs information on the operation, the replica machines sending acknowledgement messages to the leader machine, and the leader machine sending commit command messages to the replica machines. A new quorum of the replica machines is created by using log information. Replica machines that become part of the new quorum are updated in an efficient manner. |
主权项 |
1. A method of steady state data distribution between a client application, a leader machine, and a plurality of replica machines, the method comprising:
receiving by the leader machine an operation request message specifying an operation and associated data from the client application; distributing by the leader machine a prepare message to each of the plurality of replica machines collectively called a quorum, wherein the prepare message comprises the operation, the associated data, a quorum version number identifying the quorum, and an operation version number identifying the operation; recording in a log by each of the replica machines the operation, the associated data, the quorum version number and the operation version number from the prepare message; sending by each of the replica machines a first acknowledgement message to the leader machine upon receiving the prepare message, wherein the first acknowledgement message comprises the quorum version number and the operation version number; sending by the leader machine a commit command message to the replica machines upon receiving the first acknowledgement messages from a majority of the replica machines in the quorum; executing by the replica machines the operation specified in the prepare message upon receiving the commit command message from the leader machine; and removing by each of the replica machines from its log the operation and the associated data provided in the prepare message upon executing the operation. |