Download - REACTIVE SYSTEMS - WS
![Page 1: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/1.jpg)
REACTIVE SYSTEMSfuture of software architecture
Wojciech Kamiński
![Page 2: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/2.jpg)
![Page 3: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/3.jpg)
25 mln EUR $ of public money at work2016-02-15 18:21:20
![Page 4: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/4.jpg)
![Page 5: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/5.jpg)
![Page 6: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/6.jpg)
TYPICAL DISEASES
➔ Synchronous method calls
➔ Blocking on IO
➔ Heavy server side state
➔ Monolithic apps
![Page 7: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/7.jpg)
HOW SHOULD I BUILD MY APP FOR 1M USERS?
![Page 8: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/8.jpg)
WHAT MATTERS
➔ PERFORMANCE
➔ AVAILABILITY
➔ RESPONSIVENESS
➔ RESILIENCE
➔ ELASTICITY (aka. SCALABILITY)
![Page 9: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/9.jpg)
REACTIVE MANIFESTO
http://www.reactivemanifesto.org/
![Page 10: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/10.jpg)
MESSAGE DRIVEN
➔ Asynchronous
➔ Isolated
➔ Location Transparent
➔ Loosely Coupled
➔ Errors as messages
![Page 11: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/12.jpg)
BEST PRACTICES
![Page 13: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/13.jpg)
EMBRACE FUNCTIONAL STYLE
![Page 14: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/14.jpg)
USE LAZILY EVALUATED DATA ABSTRACTIONS
![Page 15: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/15.jpg)
BREAK YOUR APP INTO PIECES
![Page 16: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/16.jpg)
BASE not ACID
![Page 17: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/17.jpg)
DENORMALIZE DATA
![Page 18: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/18.jpg)
TAKE THE COMPUTATION TO YOUR (BIG) DATA
![Page 19: REACTIVE SYSTEMS - WS](https://reader031.vdocuments.net/reader031/viewer/2022022203/586fdbf61a28ab18428b6303/html5/thumbnails/19.jpg)
THANK YOU!
Wojciech Kamiński