Netflix / dynomite

A generic dynamo implementation for different k-v storage engines
Apache License 2.0
4.2k stars 532 forks source link

Data sync strategy between Data centers on link failure #677

Open rajangamsj opened 5 years ago

rajangamsj commented 5 years ago

I have 2 Datacenters - DC1 and DC2 and each have 3 Racks and 1 node in each of the rack. If for some reasons the link between the Data centers goes down and comes back up. I see that any writes (at DC1) during the time the link is down is not replicated to DC2. Is there any configuration that could be used which would enable dynomite to keep track of unsynced data and try it again after the link is up? Or is there any other strategy that I would follow to avoid this type of inconsistency.

ipapapa commented 5 years ago

For cross-region traffic, it is currently fire-and-forget. We do not currently support Tombstones but there is a small buffering (if the connection though goes down the data are not replicated). To avoid inconsistencies inside the same region, we provide Consistency guarantees. There is a lot of work we are now doing to support Read Repairs: https://github.com/Netflix/dynomite/pull/666