Currently, there are two modes: C/S and B/S. If I regard B as a special client, it is actually unified into C/S. Although this statement is not rigorous.
Let's talk about the familiar C/S Mode: client-server mode. In simple terms, this is indeed the foundation of horizontal or vertical scaling.
1. The simplest C/S Mode
The task that the client is responsible for is needless to say, but for the server side, it generally serves both the application server and the database server. Therefore, based on the idea of separation, the server is divided into application servers and database servers. Then we get the 2 mode.
2. Separate the server's C/S Mode
The C/S mode of this mode is the basis of the modern C/S mode! However, some of the current applications are not moving, that is, large data volumes and high traffic volumes. So there are two ways to expand.
3. Vertically scalable C/S Mode
Based on the features of the app, the app splits components and splits the installation logic of different tasks into different servers. The vertically scalable C/S mode is obtained.
4. Horizontally scalable C/S Mode for Applications
5. Horizontally-vertically scalable C/S Mode
In addition, we can perform the same processing on the DB server, so we can expand more types of C/S models. The popular load balancing, horizontal scaling, vertical scaling and other things mentioned now can be found from the original C/S structure.