There are two main approaches to scaling that can be used exclusively or in tandem.
Summary: Scaling Server Resources Scaling vertically consists of adding more RAM, CPU, and Disk to your node(s), providing more power or capacity to accomplish their specific tasks.
Scaling vertically is extremely effective for services with heavy processing loads like databases, caches, and sometimes even webs and workers depending on what they're doing.
Summary: Scaling for Traffic and/or Redundancy Horizontal scaling is accomplished by increasing the number of nodes inside a component cluster.
Horizontal scaling does a few things:
- Increases a code components' ability to handle concurrent requests.
- Increases a code components' traffic throughput.
- Adds redundancy and fail-over to both code and data components.
Scaling horizontally is extremely effective for web and worker components. Adding nodes spreads the load across multiple processes instead of dumping it on one.
Reach out to firstname.lastname@example.org and we'll try to help.