-
Notifications
You must be signed in to change notification settings - Fork 0
Scaling Strategies
stella edited this page Jun 23, 2014
·
1 revision
There are two general approaches to scaling any system to increase perform
- Vertical Scaling - Faster machine with more RAM, CPUs, GHz
- Horizontal Scaling – Add more machines to distribute load remotely
Spring Batch Scaling Stregies
- Multithreaded Step – Configure multithreading at the step level. Suitable for vertical scaling. Only useful for single machines with multicore CPUs, complex to avoid thread safety issues.
- Parallel Step - Configure steps to execute in parallel. Suitable for vertical scaling. Must have branched steps configured.
- Remote Chunking – Perform chunk processing/writing on remote servers. Suitable for horizontal scaling. Assumes processing+write is more taxing than reading.
- Partitioning Step – Partitions reader data and distributes each segment of data to multiples threads or remote nodes. Suitable for horizontal scaling.