3 ms·
> AP systems are known for availability, not safety; I think in 99.9% of cases, you don't want AP. The P only matters when the network is more prone to go dow
by RcouF1uZ4gsC 3y ago
> AP systems are known for availability, not safety;
I think in 99.9% of cases, you don't want AP. The P only matters when the network is more prone to go down than the machines. For example, if every node goes down, your AP design won't be available.
With the massive improvements in network and connectivity and increased redundancy, you should aim for CP.
If you really, really need AP, then a ground up design based on CRDTs seems the best, most discipline approach. With CRDT, you can have availability because the operations can be entirely local, and you know you can sync to the other nodes when available without conflict.
- mjb 3y agoCompletely agree. In-region (e.g. at the scale of a US state), CP seems like a clear winner. For more geo-distributed latency becomes challenging, and in environments like IoT and mobile unreliable connectivity becomes challenging. If you're there, you need a principled way of approaching AP (e.g. CRDTs or CALM https://arxiv.org/pdf/1901.01930.pdf https://arxiv.org/pdf/1901.01930.pdf).