4 ms·
I have to admit, I'm not 100% on the entire configuration. However... We have two clusters of 8 nodes each. Each cluster is setup with 2 factor replication. Th
by Ankhers 11y ago
I have to admit, I'm not 100% on the entire configuration. However...
We have two clusters of 8 nodes each. Each cluster is setup with 2 factor replication. The clusters are setup with cross datacenter replication.
Your read / write question is a little hard to answer. In Aerospike, a given key will always reside on the same node, something to do with how they optimize their storage. Which means that anytime you write to, or read from, a given key your query will always be routed to the same node.
- ngx1234 11y agoWhen Aerospike ships XDR batches it does not replay events, it just re-syncs the data. This is true even for increments. So if cluster A has 10 increments of n to n+10, and cluster B has 20 increments of n to n+20, it's possible XDR will ship A to B and cluster B gets set to n+10. XDR only guarantees data consistency if writes are 15 mins apart and your cross datacenter network doesn't go down. The suggested method of solving this is to have two keys, one for each cluster, and XDR both keys. Then add them together in the app. You can maybe do it through a lua script, though I haven't tried.
- kayser68 11y agoDid you see this effect during split brain, or while all nodes were up and operating? I think you would have mentioned that what you saw was split brain..... With datacenter replication, do you have a loop (multi-master) configured? Aerospike uses async replication, so using multi-master counters can be tricky....