what is vertx
vertx is a toolkit to build reactive and distributed system
reactive system principles
responsive, elastic , resilient, asynchronous message passing to interact
what is reactive
Reactive programming—A development model focusing on the observation of data streams, reacting on changes, and propagating them
Reactive system—An architecture style used to build responsive and robust distributed systems based on asynchronous message-passing
Reactive streams is an initiative to provide a standard for asynchronous stream processing with back-pressure. It provides a minimal set of interfaces and protocols that describe the opera‐ tions and entities to achieve the asynchronous streams of data with nonblocking back-pressure. It does not define operators manipulat‐ ing the streams, and is mainly used as an interoperability layer. This initiative is supported by Netflix, Lightbend, and Red Hat, among others.
why use asynchronous message-passing
Using asynchronous message-passing interactions provides reactive systems with two critical properties: • Elasticity—The ability to scale horizontally (scale out/in) • Resilience—The ability to handle failure and recover # reactive microservices ##Autonomy They can adapt to the avail‐ ability or unavailability of the services surrounding them. ##Asynchronisity A reactive microservice uses asynchronous message- passing to interact with its peers. It also receives messages and has the ability to produce responses to these messages.
• Resilience Resilience is not only about managing failure, it’s also about self-healing • Elasticity a reactive microservice must be elastic, so the system can adapt to the number of instances to manage the load.