際際滷

際際滷Share a Scribd company logo
Microservices
Architecting in a reactive way
Braz, Anderson
Software Engineer
Java Man since 2000, postgradute,
open source contributor, speaker
and training consultant
mrbrazjava
Monolith Microservices
Reactive microservices
Reactive microservices
Why is responsiveness
now more important than
ever?
Mobile
Devices
Cloud
Environment
Multicore
Architecture
Real-timeInteractive Collaborative
Reactive
Readly responsive to a stimulus
Responsive
(React to Users)
Resilient
(React to Failure)
Elastic
(React to Load)
Message Driven
(React to Events)
Message Driven
The flow of the program is determined by events
Immutability
Avoid share mutable states and objects
Avoid Blocking
Kills Scalability and Performance
Elastic
Capable of being easily
expanded or upgraded on demand
How do I know if I have a
performance problem?
How do I know if I have a
scalability problem?
The network is
inherently unreliable
The fallacy about
Distributed Computing
State and Objects
Transaction
Embrace the network
Be of the web, not behind the web
Location
Transparency
It is not about ESB stupid
Resilience
The capacity to recover
quickly from difficulties
Old school way
Old school way
Error
Response Worst in a
Multi Thread
Worst in a
Multi
Thread
Old school way
Reactive microservices
Doing Better
Failure is
an Event
Avoid
Cascading
Manage
locally
Isolate
the failure
Responsive
Quick to respond or react
appropriately
Keep latency consistent
Asynchronous Events
Loosely coupled architecture
Lower Latency
Better Throughput
Batching
App
Middleware
TCP
IP
NIC
Performance
vs
Scalability
Latency
vs
Throughput
Availability
vs
Consistency
Reactive
Readly responsive to a stimulus
Braz, Anderson
Software Engineer
Java Man since 2000, postgradute,
open source contributor, speaker
and training consultant
mrbrazjava

More Related Content

Reactive microservices