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.
When building microservices, it is important to understand the concepts of resource contention, linear scaling, Amdahl's law, Gunther's law, and coherency delay.
Monolithic architectures have been the dominant model for application development for a long time. In this article, we discuss the common pain points encountered when building monolithic applications.