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.