Reactive Programming

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

The underlying principles of reactive applications inform overall system design.

Message-driven runtime.

Programming model.

Resource utilization. Responsiveness is achieved by efficiently using the hardware.

Decoupling promotes scale-out, as various components can be scaled independently. Asynchronous communication is key to achieve decoupling.

Reactive System Tenets according to the Reactive Manifesto

  • Responsiveness refers to the capability of the system to be consistently responsive to the user and never fail; it refers to the value brought by such systems.
  • Resilience is the capability of the system to self-heal, and refers to form in which reactive systems are delivered.
  • Elasticity is the capability of the system to scale out and up/ in and down across physical and cloud infrastructure refers to form in which reactive systems are delivered.
  • Message-driven refers to the means used to implement reactive systems. A message-driven system is powered by means of asynchronous, non-blocking communication. This enables first and foremost isolation.

Frameworks

Companies

TODO