3 ms·
I'm not sure if CockroachDB has multi-DC async replication, but the challenge I've always found in this stuff is ensuring the transaction also commits on remote
by jchrisa 11y ago
I'm not sure if CockroachDB has multi-DC async replication, but the challenge I've always found in this stuff is ensuring the transaction also commits on remote replicas in an all-or-nothing way. Maybe I didn't read close enough...
- sargun 11y agoThey have Multi-Raft running between all of the replicas of a specific key range to ensure that there is an atomic commit across all DCs.
- mrtracy 11y agoPost author here Sargun is correct, all of our replication is performed by Raft, which exists at a lower level than the content covered in this post. Every command executed against a cockroach key (i.e. "create write intent", "begin this transaction") is persisted to the Raft log before executing; Commands will not proceed if they are not confirmed by Raft. The outcome of all commands is deterministic, so this provides complete replication of all mutations to each key. If you're interested, there's more information available in our primary design document: (https://github.com/cockroachdb/cockroach/blob/master/docs/design.md#raft---consistency-of-range-replicas https://github.com/cockroachdb/cockroach/blob/master/docs/de...)