Consistency, Availability, Partition Tolerance. Pick two.
Maybe pick three, sometimes. But you’re probably only going to get away with 2, even if you don’t think your system is a Distributed Systems.
https://codahale.com/you-cant-sacrifice-partition-tolerance/