The Software World
Scaling Client-Server Architecture — An Exploration
Exploration of various scenarios to enable forming of a scalable Client-Server architecture
Wheater we develop a mobile or web application, their usage is relatively limited if they are not connected to a server to provide meaningful content or personalized attribution. Therefore it is very critical for one to have a scalable architecture for the client (Web and App) with its Server/s (source of data).
I’m trying to think of various scenarios and try to make sense of them. Sharing my thought process here, and welcome anyone pointing out any mis-consideration.
In this exploration, our focus is more on the architecture between the client and servers, than the architecture of the server side on how they are partitioned (e.g. into multi-tier, etc, as shared here).
A simple view, the concept of BFF
The most simplified view we usually draw a Client Server Relationship is below.
However, in a more realistic scenario, sometimes the client needs to stitch information from various sources (server), hence making it look more like below.