reactive systems - ws

19
REACTIVE SYSTEMS future of software architecture Wojciech Kamiński

Upload: wojciech-kaminski

Post on 07-Jan-2017

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REACTIVE SYSTEMS - WS

REACTIVE SYSTEMSfuture of software architecture

Wojciech Kamiński

Page 2: REACTIVE SYSTEMS - WS
Page 3: REACTIVE SYSTEMS - WS

25 mln EUR $ of public money at work2016-02-15 18:21:20

Page 4: REACTIVE SYSTEMS - WS
Page 5: REACTIVE SYSTEMS - WS
Page 6: REACTIVE SYSTEMS - WS

TYPICAL DISEASES

➔ Synchronous method calls

➔ Blocking on IO

➔ Heavy server side state

➔ Monolithic apps

Page 7: REACTIVE SYSTEMS - WS

HOW SHOULD I BUILD MY APP FOR 1M USERS?

Page 8: REACTIVE SYSTEMS - WS

WHAT MATTERS

➔ PERFORMANCE

➔ AVAILABILITY

➔ RESPONSIVENESS

➔ RESILIENCE

➔ ELASTICITY (aka. SCALABILITY)

Page 9: REACTIVE SYSTEMS - WS

REACTIVE MANIFESTO

http://www.reactivemanifesto.org/

Page 10: REACTIVE SYSTEMS - WS

MESSAGE DRIVEN

➔ Asynchronous

➔ Isolated

➔ Location Transparent

➔ Loosely Coupled

➔ Errors as messages

Page 11: REACTIVE SYSTEMS - WS

WHAT TO LOOK INTO

Reactive Streams

ScalaAkka

Play FrameworkApache Spark

Lagom

RxJava, RxJS,Rx.NET, RxScala, RxClojure, RxCpp, Rx.rb, RxPY, RxSwift….

Akka StreamsJava 9

Spring 5

Page 12: REACTIVE SYSTEMS - WS

BEST PRACTICES

Page 13: REACTIVE SYSTEMS - WS

EMBRACE FUNCTIONAL STYLE

Page 14: REACTIVE SYSTEMS - WS

USE LAZILY EVALUATED DATA ABSTRACTIONS

Page 15: REACTIVE SYSTEMS - WS

BREAK YOUR APP INTO PIECES

Page 16: REACTIVE SYSTEMS - WS

BASE not ACID

Page 17: REACTIVE SYSTEMS - WS

DENORMALIZE DATA

Page 18: REACTIVE SYSTEMS - WS

TAKE THE COMPUTATION TO YOUR (BIG) DATA

Page 19: REACTIVE SYSTEMS - WS

THANK YOU!

Wojciech Kamiński