BUILDING REACTIVE PIPELINES WITH KOTLIN & SPRING MARK HECKLER - - PowerPoint PPT Presentation

building reactive pipelines with kotlin spring mark
SMART_READER_LITE
LIVE PREVIEW

BUILDING REACTIVE PIPELINES WITH KOTLIN & SPRING MARK HECKLER - - PowerPoint PPT Presentation

BUILDING REACTIVE PIPELINES WITH KOTLIN & SPRING MARK HECKLER @mkheck Copenhagen Denmark Building Reactive Pipelines with Kotlin & Spring How to go from scalable apps to (ridiculously) scalable systems Mark Heckler Spring Developer


slide-1
SLIDE 1

Copenhagen Denmark

BUILDING REACTIVE PIPELINES WITH KOTLIN & SPRING MARK HECKLER

@mkheck

slide-2
SLIDE 2

Building Reactive Pipelines with Kotlin & Spring

How to go from scalable apps to (ridiculously) scalable systems

Mark Heckler Spring Developer & Advocate www.thehecklers.com mark@thehecklers.com mheckler@pivotal.io @mkheck

slide-3
SLIDE 3

@mkheck www.thehecklers.com

“Please do LESS with MORE!” 💱💱💱

slide-4
SLIDE 4

@mkheck www.thehecklers.com

Why are we here?

Scaling systems: traditional approaches What to do when we reach the limits? Sounds good, but how does it work?

slide-5
SLIDE 5

@mkheck www.thehecklers.com

There’s more!

Roman Elizarov 10:15 tomorrow Sebastien Deleuze 11:15 tomorrow

slide-6
SLIDE 6

@mkheck www.thehecklers.com

Who am I?

  • Author
  • Architect & Developer
  • Java Champion, Rockstar
  • Professional Problem Solver
  • Spring Developer & Advocate
  • Creador y curador de
slide-7
SLIDE 7

@mkheck www.thehecklers.com

New book!

But you can’t buy it yet…

DISCLAIMER: artist’s rendition only, not the real cover

slide-8
SLIDE 8

@mkheck www.thehecklers.com

Scaling systems: off to a good start

Microservices for independent scaling Messaging platforms Spring Cloud Stream for productivity + versatility (+ resilience, etc.)

slide-9
SLIDE 9

@mkheck www.thehecklers.com

Sink Processor

For example…

Source

slide-10
SLIDE 10

@mkheck www.thehecklers.com

Consumer Function

Evolving the API

Supplier

slide-11
SLIDE 11

@mkheck www.thehecklers.com

We’ve redlined, now what?

Change approach to scaling Scaling (connections) vs. Performance (parallelization) Coroutines (Kotlin), Reactor, Loom (?) Integration with messaging platforms…any synergies here? 🤕

slide-12
SLIDE 12

@mkheck www.thehecklers.com

–Rossen Stoyanchev, Reactor team member

“In a nutshell reactive programming is about non-blocking, event-driven applications that scale with a small number of threads with backpressure as a key ingredient that aims to ensure producers do not overwhelm consumers.”

slide-13
SLIDE 13

@mkheck www.thehecklers.com

Reactive Streams: 4 interfaces

Publisher<T> Subscriber<T> Subscription Processor<T,R>

slide-14
SLIDE 14

@mkheck www.thehecklers.com

Reactive Streams in Context

Publisher<T> Subscriber<T> Subscription Processor<T,R> Spring Cloud Stream parallel Source/Supplier Sink/Consumer (n/a) Processor/Function

slide-15
SLIDE 15

@mkheck www.thehecklers.com

Let’s code!

slide-16
SLIDE 16

@mkheck www.thehecklers.com

slide-17
SLIDE 17

@mkheck www.thehecklers.com

Resources

https://github.com/mkheck/building-reactive-pipelines-with-kotlin https://kotlinlang.org https://cloud.spring.io/spring-cloud-stream/ https://projectreactor.io mark@thehecklers.com, mheckler@pivotal.io @mkheck on Twitter

slide-18
SLIDE 18

#KotlinConf

THANK YOU AND PLEASE REMEMBER TO VOTE!

Mark Heckler @mkheck