Reactive Systems

Preview:

Citation preview

REACTIVE SYSTEMSfuture of software architecture

Wojciech Kamiński

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

TYPICAL DISEASES

➔ Synchronous method calls

➔ Blocking on IO

➔ Heavy server side state

➔ Monolithic apps

HOW SHOULD I BUILD MY APP FOR 1M USERS?

WHAT MATTERS

➔ PERFORMANCE

➔ AVAILABILITY

➔ RESPONSIVENESS

➔ RESILIENCE

➔ ELASTICITY (aka. SCALABILITY)

REACTIVE MANIFESTO

http://www.reactivemanifesto.org/

MESSAGE DRIVEN

➔ Asynchronous

➔ Isolated

➔ Location Transparent

➔ Loosely Coupled

➔ Errors as messages

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

BEST PRACTICES

EMBRACE FUNCTIONAL STYLE

USE LAZILY EVALUATED DATA ABSTRACTIONS

BREAK YOUR APP INTO PIECES

BASE not ACID

DENORMALIZE DATA

TAKE THE COMPUTATION TO YOUR (BIG) DATA

THANK YOU!

Wojciech Kamiński

Recommended