Elastic

The ability to sustain the biggest possible load is usually associated with scalability. But the ability to preserve the same performance characteristics under varying loads is called elasticity. A client of an elastic system should not notice any difference between the idle periods and the periods of the peak load.

The non-blocking reactive style of implementation facilitates this quality. Also, breaking the program into smaller parts and converting them into services that can be deployed and managed independently allows for fine-tuning the resource allocation. Such small services are called microservices, and many of them can together comprise a reactive system that can be both scalable and elastic. We will discuss these solutions in more detail in the following sections.