Future of _______
Architectures
Reactive
💡
1974
TCP
VintCerfJI3.jpg by Joi Ito / Creative Commons Attribution 2.0 Generic
TCP
VintCerfJI3.jpg by Joi Ito / Creative Commons Attribution 2.0 Generic
TCP
VintCerfJI3.jpg by Joi Ito / Creative Commons Attribution 2.0 Generic
TCP
VintCerfJI3.jpg by Joi Ito / Creative Commons Attribution 2.0 Generic
TCP is 

Bidirectional
TCP has 

Flow Control
VintCerfJI3.jpg by Joi Ito / Creative Commons Attribution 2.0 Generic
💡
HTTP
1989
Tim Berners-Lee CP 2.jpg by Silvio Tanaka / Creative Commons Attribution 2.0 Generic
🗞
🗞
HTTP
Tim Berners-Lee CP 2.jpg by Silvio Tanaka / Creative Commons Attribution 2.0 Generic
GET
GET
🗞
🗞
WAREZ
Lycos
HTTP
Tim Berners-Lee CP 2.jpg by Silvio Tanaka / Creative Commons Attribution 2.0 Generic
HTTP
Serve
Documents
Tim Berners-Lee CP 2.jpg by Silvio Tanaka / Creative Commons Attribution 2.0 Generic
🗞
🗞
WAREZ
HTTP
Lycos
Serve
Documents
👍 Tim Berners-Lee CP 2.jpg by Silvio Tanaka / Creative Commons Attribution 2.0 Generic
Now
Google's Lexus RX 450h Self-Driving Car.jpg by Steve Jurvetson / Creative Commons Attribution 2.0 Generic 

Apple Watch by fancycrave1 / Creative Commons CC0 1.0 Universal Public Domain Dedication
Amazon Echo.jpg by Frmorrison / Creative Commons Attribution-Share Alike 3.0 Unported
facebook-internet-login-screen by Pixabay / CC0 License
🗞
Now
Connected
Experience
Google's Lexus RX 450h Self-Driving Car.jpg by Steve Jurvetson / Creative Commons Attribution 2.0 Generic 

Apple Watch by fancycrave1 / Creative Commons CC0 1.0 Universal Public Domain Dedication
Amazon Echo.jpg by Frmorrison / Creative Commons Attribution-Share Alike 3.0 Unported
facebook-internet-login-screen by Pixabay / CC0 License
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
HTTP ?
Thundering herds
Cascading failure
Circuit breaking
Retry logic
Timeouts
Configuration
HTTP ?
Reactive ?
Reactive ?
+
Reactive ?
Order(s) of Magnitude 

more efficient
🤑
Reactive ?
Designed for 

connection volume scalability
📱
Reactive ?
But reactive support stops
at the application boundary
😕
Reactive ?
🔎
🏎
🔎
💩
🔎
Los Angeles Traffic by prvideotv / CC0 Creative Commons
Reactive ?
If my reactive apps could use
all interaction models from TCP with
the simplicity of HTTP
😀
Reactive ?
An hyper-efficient protocol
designed for
Application Communications
😃
Reactive ?
Resilient without 

more network hops

or layers ?
😆
request/reply
request/void (fire&forget)
request/stream
stream/stream (channel)
4 defined interaction models
request/replyrequest/reply
request/reply request/reply
request/reply request/replyrequest/reply
request/reply request/replyrequest/reply
request/reply request/replyrequest/reply
🔎multiplexed
🔎transport agnostic 

e.g. Websocket
request/streamrequest/stream
request/streamrequest/stream
request/stream
🔎 🔎
bidirectional
2
per-message

flow-control
2 2
per-message

flow-control
2
per-message

flow-control
00
per-message

flow-control
0
per-message

flow-control
language agnostic
compose with no semantics loss
🔎
🔎
🔎
ws
tcp
udp
RSocket Protocol
TCP WebSocket Aeron/UDPHTTP/2
Protobuf JSON Custom Binary
RPC-style Messaging
Java JavaScript C++ Kotlin Flow
A growing community including:
Facebook, Netifi, Pivotal
😍
at
LiveServer
live query
(GraphQL subscription)
receive query response

and update when the data change
Subscription resumption
...continue streaming updates
Significant running costs savings
Moving from polling to subscription model
Subscription resumption
Imagine
If a Cloud Platform supported that
Reactive Protocol as a feature
🤓🤓 🤓
Imagine
Learn more
11:30 Maryland Ballroom C
Point-to-Point Messaging Architecture - The Reactive Endgame
Ryland Degnan, Netifi (CTO) - Stephane Maldini, Pivotal
2:00 Maryland Ballroom C
Multi-Service Reactive Streams Using Spring, Reactor, and RSocket
Rossen Stoyanchev, Pivotal - Ben Hale, Pivotal

The Future of Reactive Architectures