The example in this section illustrates horizontal and vertical scaling for a solution that implements Messaging Server. For vertical scaling, you add additional CPUs to a server to handle increasing loads. For horizontal scaling, you handle increasing loads by adding additional servers for distribution of the load.
The baseline for the example assumes a 50,000 user base supported by two message store instances that are distributed for load balancing. Each server has two CPUs for a total of four CPUs. The following figure shows how this system can be scaled to handle increasing loads for 250,000 users and 2,000,000 users.
Scalability Example shows the differences between vertical scaling and horizontal scaling. This figure does not show other factors to consider when scaling, such as load balancing, failover, and changes in usage patterns.