Book Image

Spring Integration Essentials

By : CHANDAN K PANDEY
Book Image

Spring Integration Essentials

By: CHANDAN K PANDEY

Overview of this book

This book is intended for developers who are either already involved with enterprise integration or planning to venture into the domain. Basic knowledge of Java and Spring is expected. For newer users, this book can be used to understand an integration scenario, what the challenges are, and how Spring Integration can be used to solve it. Prior experience of Spring Integration is not expected as this book will walk you through all the code examples.
Table of Contents (12 chapters)
11
Index

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 to scale a system is to introduce parallel processing. However, before you learn how to do this, let's be aware of the following pitfalls:

  • It should be evaluated whether creating a thread will help

  • Threads should be created as per machine capability...