what is reactive

43
Being Reactive is Good Kevin Webber, Enterprise Advocate, Lightbend

Upload: lightbend

Post on 13-Apr-2017

179 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: What is reactive

Being Reactive is GoodKevin Webber, Enterprise Advocate, Lightbend

Page 2: What is reactive
Page 3: What is reactive
Page 4: What is reactive
Page 5: What is reactive
Page 6: What is reactive
Page 7: What is reactive
Page 8: What is reactive
Page 9: What is reactive
Page 10: What is reactive
Page 11: What is reactive

Problem?» we used the right tools to build the wrong thing

Page 12: What is reactive

Problem?» we used the right tools to build the wrong thing

» proactive isn't always good

Page 13: What is reactive

Problem?» we used the right tools to build the wrong thing

» proactive isn't always good

» reactive isn't always bad

Page 14: What is reactive
Page 15: What is reactive
Page 16: What is reactive
Page 17: What is reactive
Page 18: What is reactive
Page 19: What is reactive

» let principles guide our

» design

» tool selection

» implementation choices

Page 20: What is reactive

» let principles guide our

» design

» tool selection

» implementation choices

» principles should be accessible and universal

Page 21: What is reactive

» let principles guide our

» design

» tool selection

» implementation choices

» principles should be accessible and universal

» principles should help people

» reactive helps engineers, lines of business, and enterprises to capture opportunities

Page 22: What is reactive

What is Reactive?

Page 23: What is reactive

asynchronous, non-blocking, real-time, highly-available, loosely coupled, scalable, fault-tolerant, concurrent, reactive, event-driven, push instead of pull, distributed, low latency, high throughput...

Page 24: What is reactive

asynchronous, non-blocking, real-time, highly-available, loosely coupled, scalable, fault-tolerant, concurrent, reactive, event-driven, push instead of pull, distributed, low latency, high throughput...

Too complicated. We need a simple vocabulary.

Page 25: What is reactive
Page 26: What is reactive
Page 27: What is reactive

Overview

» Lagom - Microservices framework

» Play - RESTful API framework

» Akka - Distributed computing toolkit

» Spark - General purpose compute engine

Page 28: What is reactive

Akka Users

Page 29: What is reactive

Reactive Principles

Page 30: What is reactive

Message-driven» Akka provides all of the

building blocks of reactive systems

» distribution

» location transparency

» isolation

Page 31: What is reactive

Resilient» supervision

Page 32: What is reactive

Resilient» dedicated separate error

channel

Page 33: What is reactive

Resilient» location transparency

» remoting and clustering

» references are stable

Page 34: What is reactive

Resilient» location transparency

» senders can still emit events even when actors move from one location to another

Page 35: What is reactive

Elastic» scale up

» async

» non-blocking

» scale out

» immutable data

» share nothing

Page 36: What is reactive

Responsive» responsive to events

» events within the business (existing customers)

» events in the market (new opportunity)

» responsive to technology

» load, failure

» emerging technologies (reactive architecture)

» responsive to users

Page 37: What is reactive

» responsivea request for service is always answered, even when failures occur

» elasticservices scale up and down on demand

» resilientservices recover from failures

» message drivenservices respond to the world, not attempt to control what it does

Page 38: What is reactive

How do we build reactive systems?Applying the Reactive principles to build a fully reactive microservices system, using:

» The Lightbend Reactive Platform

» Third-party tools

» Existing infrastructure (hybrid-cloud, etc)

Page 39: What is reactive
Page 40: What is reactive

Fast Data Architecture» Akka Streams

» 1-10 second latency per-event processing

» Spark Streaming

» 10+ second mini-batch event processing

» Streams become the glue of the organization

Page 41: What is reactive

Heritage Modernization» Carve up a monolith

» Akka and Play are general purpose, powerful toolkits well suited to enterprise environments

» Java, Scala, JVM

Page 42: What is reactive

MSA» Push-streaming or pub-sub

for service-to-service messaging

» API gateway in front of the MSA for consumers

» Aggregation

» Authentication/authorization

» Protocol conversion

» Etc

Page 43: What is reactive

Thank you!Kevin Webber

Medium: medium.com/@kvnwbbrTwitter: @kvnwbbr

Point of contact

[email protected]