際際滷

際際滷Share a Scribd company logo
Reactive Microservices with
Vert.x
Principles & Practice
Why are microservices so
popular?
But...
distributed system are hard
Thats where reactive comes in
Reactive software reacts and
adapts its behavior based on the
stimuli it receives
Reactive System
An architecture style
used to build
responsive and robust
distributed systems
based on asynchronous
message-passing
Reactive Programming
A development model
focusing on the
observation of data
streams, reacting on
changes, and propagating
them.
Reactive Microservices with Vert.x
Reactive Streams
Reactive streams is an initiative to provide a
standard for asynchronous stream processing with
back-pressure
Back Pressure
when n > m, please wait!
n n
mm
Producer Consumer
Reactive Systems
Elasticity
The ability to scale horizontally (scale out/in)
Resilience
The ability to handle failure and recover
Responsive
The most important thing for all companies
Asynchronous message-passing
Reactive Microservices
Autonomy & Isolation
adapt to the availability or unavailability of the services
surrounding them
Resilience
The ability to handle failure and recover
Asynchronisity
The most important thing for all companies
Elasticity
The ability to scale horizontally (scale out/in)
What about Vert.x?
Reactive Microservices with Vert.x
Dont block the event loop.
Multi-reactor principle
Verticles
Scalable
Non-Blocking
Simple
Worker Verticles
Worker Loop
Non-Concurrent
Blocking
Event Bus
Publisher and Subscribe
Point 2 Point
Clustered
Shared Data
Local and Distributed using
Hazelcast
High Availability
Cluster Manager using Hazelcast
with automatic failover
Talk is cheap, show me the
code...
mrbrazjava
I help developers and architects to be more productive on
distributed system development for them to be recognized as
references in the market. geracaosucesso.com

More Related Content

Reactive Microservices with Vert.x