How to reconnect nodes in the database to synchronize with the majority cluster?

Consider a database with 5 copies on 5 machines. Writing to the database includes something like two phase locks among all 5 machines to maintain consistency.

Suppose one machine is lowered. Then, writing to the database can still happen, since two-phase completion is performed on the other four nodes, since this is still a big part.

But when the launcher returns and reconnects, how does it synchronize and connect to the cluster?

The repeating computer should receive commit log entries that it does not have. Presumably, he runs some kind of consensus algorithm among all 5 machines in order to reach agreement on the next journal entry that he is missing. And he continues to do this until he catches up with the missing commit log entries.

But how does he move from moving to a cluster. While he catches up, the remaining 4 cars will make a bunch of new records. Thus, it would seem that he would never catch.

Does the rejoining node help the cluster stop processing new records in order to catch up with it. And then reconnect using the consensus algorithm (is this how reconnection happens?). It looks like this will cause a serious hiccup delay in processing records. What is the idiomatic way to deal with this?

+3
source share
2 answers

This does not mean that I do not know. If the problem was read in the comments.

However. Cluster computer nodes have some of the same problems as a distributed database. Data integrity and who makes "decisions" are two problems common to databases.

(, Solaris) , SAN. node A (, zfs), , node B, , , . , A deltas == B. A B , . , B , "", A, - . .

. ? A B.? B? . node, . , "" node , "" . , . , . FWIW.

, node A , node B - node A. , B . , , , C D E, C ( , C, D, E)

: 2 , , , .

+1

, , .

Cassandra . , - , .

, , , .

0

All Articles