The anatomy of a horizontally scalable distributed application
Motivation of this post
It’s a daunting task for many engineers to design a fully horizontally scalable application. In practice, very few of us have the opportunities to build such systems end to end. The lack of hands on experience can be compensated by years of experience working indirectly on each technology(load balancer, sharding, etc). But it takes time to master all tools and design patterns.
In hindsight, I find such design is quite straightforward if one has the holistic…