Reactive Architecture
Marek Sokół
IT Architect
The demands and expectations
for web applications have
changed in recent years...
2Marek Sokół – Reactive Architecture
• React to events – Event-driven
3
• React to users – Responsive
• React to load – Scalable
• React to failure – Resilient
We need to build
software that...
Marek Sokół – Reactive Architecture
But there is more...
4
robustness
flexibility
resilience
Marek Sokół – Reactive Architecture
5
So we have got an application
Marek Sokół – Reactive Architecture
Why the codebase
of your company
is all in one repository?
6Marek Sokół – Reactive Architecture
Numerous
developers work on
the same repository
at the same time...
7Marek Sokół – Reactive Architecture
Daily stand-up
meeting is too long...
and boring...
8Marek Sokół – Reactive Architecture
Why are there
so many tables
in this database?
9Marek Sokół – Reactive Architecture
Database backup
cannot be done
within 24h...
10Marek Sokół – Reactive Architecture
...and what if the administrator
has never tested
a backup file?
11Marek Sokół – Reactive Architecture
The choice of
architecture
is more important
than any framework
12Marek Sokół – Reactive Architecture
Monolith
113Marek Sokół – Reactive Architecture
SOA
14Marek Sokół – Reactive Architecture
15Marek Sokół – Reactive Architecture
Now we can
create the code faster
and it’s easier
to maintain
Developers can be divided
into smaller teams
to build microservices
of our SOA system
16Marek Sokół – Reactive Architecture
Each microservice
can be implemented
with the most suitable
methods and technologies
17Marek Sokół – Reactive Architecture
Scaling microservices
instead of the whole
system is now possible
18Marek Sokół – Reactive Architecture
Reactive Manifesto
Principles
19Marek Sokół – Reactive Architecture
• Drop synchronous HTTP requests
• Communicate services via
asynchronous events
• RESTful messages
consumers operate only on data in message
20Marek Sokół – Reactive Architecture
Event Driven
21Marek Sokół – Reactive Architecture
22Marek Sokół – Reactive Architecture
• Websockets
23
Responsive
Marek Sokół – Reactive Architecture
• Asynchronous
and non-blocking requests
• Back-pressure
24
Scalable
Marek Sokół – Reactive Architecture
25
Resilient
• Avoid cascading failures
• Isolate failures
Marek Sokół – Reactive Architecture
• Loose coupling
• Replicate data
25Marek Sokół – Reactive Architecture
Robustness
27Marek Sokół – Reactive Architecture
28Marek Sokół – Reactive Architecture
Flexibility
Resilience
29Marek Sokół – Reactive Architecture
Thank you
Marek Sokół
msokol@G2A.com

Reactive Architecture (PHPCon PL 2015)