Building the Future
How Reactive Systems are Shaping Modern Software Architectures
Executive Summary
Organizations are discovering patterns for building more resilient, flexible, and scalable systems to meet modern demands. Reactive Systems—designed for responsiveness, resilience, elasticity, and message-driven interactions—are key to addressing the growing need for millisecond response times, while achieving 100% uptime, and massive data volumes.
In this article we are going to see the governing principles around the reactive system and show a working example using Spring boot. Let’s dive in.
Source: https://reactivemanifesto.org/
The Principles
The Challenge
The Pattern
Reactive Systems
Flow & Termination
- No Values: No data is emitted, and the sequence ends with onComplete or onError.
- One Value: A single value is emitted, followed by onComplete or onError.
- Multiple or Infinite Values: Multiple values are emitted, potentially endlessly, until onComplete or onError is triggered.
Causality means that one thing (a cause) leads to or influences another thing (an effect). The cause is partly responsible for the effect, and the effect depends on the cause.
Vector clock -
concatMap(Function<? super T,? extends Publisher<? extends V» mapper) Transform the elements emitted by this Flux asynchronously into Publishers, then flatten these inner publishers into a single Flux, sequentially and preserving order using concatenation.