Design: Scaling a Web Application
Focus on scaling strategies for the application backend and database. Out of scope: frontend design, detailed security implementation.
Functional Requirements
Non-Functional Requirements
+-------------------+
| Load Balancer |
+---------+---------+
|
+-----------+-----------+
| |
+-------+-------+ +-------+-------+
| App Server 1 | | App Server 2 |
+-------+-------+ +-------+-------+
| |
+-----------+-----------+
|
+---------+---------+
| Database |
| (Vertical Scale) |
+-------------------+
Alternative Horizontal Scaling:
+-------------------+
| Load Balancer |
+---------+---------+
|
+-----------+-----------+
| | |
+-------+-------+ +-------+-------+ +-------+-------+
| App Server 1 | | App Server 2 | | App Server 3 |
+---------------+ +---------------+ +---------------+
|
+---------+---------+
| Database Cluster |
| (Horizontal Scale) |
+--------------------+Pass the test and this pattern moves unknown