In the previous article, we saw how Sharding addresses issues with contention. This article will introduce a technique to increase availability: Conflict-free replicated data types or CRDTs.
Consistency creates contention, and contention negatively impacts application scalability. This article introduces the concept of Sharding to reduce contention probability while still maintaining consistency in a distributed environment.
Microservices architectures naturally imply a move from vertical to horizontal scaling. This scaling change requires the developer to address three core traits: Consistency, Availability, and Partition Tolerance. This article will introduce the CAP theorem, which seeks to explain the relationship between the three characteristics.