Scaling up
Scalability of a system is one of the most important non-functional requirements. As we know, there are basically two ways to scale a system: vertical scaling and horizontal scaling. Vertical scaling refers to adding more processing power to an existing system—if you are running out of memory, add memory; if CPU cycles are getting short, add some more cores and or make other changes. Not much of a challenge! On the other hand, horizontal scaling refers to adding more physical nodes, handling requests in a distributed way, adding redundancy at DB, and message broker components. Obviously, this needs a proper thought-through design. Let's take a couple of ways that can be used to scale Spring applications.
Threading
The most common way ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access