19
REACTIVE SYSTEMS future of software architecture Wojciech Kamiński

Reactive Systems

Embed Size (px)

Citation preview

Page 1: Reactive Systems

REACTIVE SYSTEMSfuture of software architecture

Wojciech Kamiński

Page 2: Reactive Systems
Page 3: Reactive Systems

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

Page 4: Reactive Systems
Page 5: Reactive Systems
Page 6: Reactive Systems

TYPICAL DISEASES

➔ Synchronous method calls

➔ Blocking on IO

➔ Heavy server side state

➔ Monolithic apps

Page 7: Reactive Systems

HOW SHOULD I BUILD MY APP FOR 1M USERS?

Page 8: Reactive Systems

WHAT MATTERS

➔ PERFORMANCE

➔ AVAILABILITY

➔ RESPONSIVENESS

➔ RESILIENCE

➔ ELASTICITY (aka. SCALABILITY)

Page 9: Reactive Systems

REACTIVE MANIFESTO

http://www.reactivemanifesto.org/

Page 10: Reactive Systems

MESSAGE DRIVEN

➔ Asynchronous

➔ Isolated

➔ Location Transparent

➔ Loosely Coupled

➔ Errors as messages

Page 11: Reactive Systems

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

BEST PRACTICES

Page 13: Reactive Systems

EMBRACE FUNCTIONAL STYLE

Page 14: Reactive Systems

USE LAZILY EVALUATED DATA ABSTRACTIONS

Page 15: Reactive Systems

BREAK YOUR APP INTO PIECES

Page 16: Reactive Systems

BASE not ACID

Page 17: Reactive Systems

DENORMALIZE DATA

Page 18: Reactive Systems

TAKE THE COMPUTATION TO YOUR (BIG) DATA

Page 19: Reactive Systems

THANK YOU!

Wojciech Kamiński