Search code examples
parallel-processingakkareactive-programmingdistributed-computingdistributed-system

What is the difference between Reactive and Resilient?


I am searching for the difference between Reactive and Resilient.

I went through the few articles but those make me somewhat clear but much confusion with the diplomatic explanations.

What I understood Resilient mean is that if the number of instances of the same service is increased when the number of requests increased. Similarly, if it will be decreased if the requests are less. So, even number of instances increase or decrease, how easily and fast it come to its stable state is called as resilient.

I don't have clear idea about Reactive.


Solution

  • Resilience is a characteristic of a reactive system, as defined in the Reactive Manifesto. In other words, reactive is a broader term than resilient.

    Your understanding of resilience sounds more akin to another attribute of reactive systems: elasticity. The manifesto's definitions of elasticity and scalability, respectively, and the relationship between the two, are as follows:

    Elasticity (in contrast to Scalability)

    Elasticity means that the throughput of a system scales up or down automatically to meet varying demand as resource is proportionally added or removed. The system needs to be scalable (see Scalability) to allow it to benefit from the dynamic addition, or removal, of resources at runtime. Elasticity therefore builds upon scalability and expands on it by adding the notion of automatic resource management.


    Scalability

    The ability of a system to make use of more computing resources in order to increase its performance is measured by the ratio of throughput gain to resource increase. A perfectly scalable system is characterized by both numbers being proportional: a twofold allocation of resources will double the throughput. Scalability is typically limited by the introduction of bottlenecks or synchronization points within the system, leading to constrained scalability, see Amdahl’s Law and Gunther’s Universal Scalability Model.