going reactive

28
Going Reactive Rob Harrop

Upload: rob-harrop

Post on 06-Apr-2017

621 views

Category:

Software


0 download

TRANSCRIPT

Going ReactiveRob Harrop

Who am I?

▸ CTO @ Skipjaq▸ ML-driven performance optimisation

▸ Co-founder of SpringSource▸ Once upon a time I…

▸ Contributed to Spring Framework▸ Wrote a book about Spring▸ Talked a lot about Spring

Who am I?

▸ I’m on Twitter: ▸ @robertharrop

▸ I’m on Github/Gitlab: ▸ github.com/robharrop▸ gitlab.com/rdh

▸ I write about maths, modelling and performance ▸ https://robharrop.github.io

If you have questions after the session, {grab, tweet} me.

Agenda

Principles& Practice

Why Reactive?

Architecture is Fractal

Reactive Systems

Reactive Subsystems

Reactive Objects

Principles

Reactive Manifesto

▸ Resilient▸ Responsive▸ Elastic▸ Message-driven

Resilient

Back Pressure

Responsive

Asynchrony

Message-driven

Reactive Streams

public interface Publisher<T> {

public void subscribe(Subscriber<? super T> s);}

public interface Subscriber<T> { public void onSubscribe(Subscription s);

public void onNext(T t);

public void onError(Throwable t);

public void onComplete();}

public interface Subscription { public void request(long n);

public void cancel();}

public interface Processor<T, R> extends Subscriber<T>, Publisher<R> {

}

Project Reactor

▸ Mono<T>▸ Flux<T>▸ Let’s see a demo...

Practice