SlideShare a Scribd company logo
Revitalizing
Enterprise Integration
with Reactive Streams
√
Deputy CTO at Lightbend
@viktorklang / v@lightbend.com / http://viktorklang.com
Revitalizing Enterprise Integration with Reactive Streams
What to expect from this talk?
The most common programming tasks?
4 Naming things
4 Design the Perfect Bikeshed
4 Receive inputs
4 Transform data
4 Produce outputs
code.demo()
Systems
Step 1: connect(ALL THE THINGS)
Step 2: Ship it!
||
The past and present of
Enterprise Integration
Now playing: «Why SOA failed (Klang remix)»
4 WS
4 Schema evolution
4 Service Discovery
4 Testing
4 ESBs
The rise of
Enterprise Integration Patterns1
1
Gregor Hohpe and Bobby Woolf, 2003
Breaking the Camel's Back?
What if…
Reactive Enterprise Integration?
4 Streaming as a first-class concept
4 Flow control built-in
4 Reusable shapes for integration
Flow Control Facts
4 Buffers hide latency
4 Buffers do not solve overload problems
4 Load shedding does not inform sender
4 Blocking creates a low upper limit on concurrency
4 Blocking makes fan-in and fan-out problematic
Flow Control Done Right
4 Support potentially unbounded sequences
4 Sender runs independently from receiver
4 Rate of reception may vary from rate of sending
4 Dropping data should be a choice and not a necessity
4 Minimal—if any—overhead in terms of latency and
throughput
Reactive Streams2
&
java.util.concurrent.Flow
4 Publisher<Output>
4 Subscriber<Input>
4 Processor<Input, Output>
4 Subscription
2
www.reactive-streams.org
Reactive Streams
Reactive Streams &
java.util.concurrent.Flow
4 «push» when subscriber is faster
4 «pull» when publisher is faster
4 switches dynamically between both
4 smart prefetch made possible
4 immutable
4 reusable
4 composable
4 coordinated
4 asynchronous
4 distributed
4 transformations
Akka Stream building blocks3
3
Non-exhaustive list
Medium
Codec
Protocol
Combinator
Riding the Alpakka4
Reactive Enterprise Integration based
on Akka Streams—for Java and Scala.
4
https://github.com/akka/alpakka (Apache v2)
code.demo()
Connectors currently found in
Alpakka5
AMQP, Apache Geode, Apache Solr, AWS DynamoDB,
AWS Kinesis, AWS Lambda, AWS S3, AWS SNS, AWS SQS,
Azure Storage Queue, Cassandra, Elasticsearch,
File IO, FTP, Google Cloud Pub/Sub, HBase, IronMq,
JMS, MongoDB, MQTT, OrientDB, Server-sent Events,
Slick (JDBC), Spring Web, Unix Domain Socket
5
And also HTTP, TCP, Apache Kafka, and many more…
Further reading
Transforming enterprise integration
with reactive streams
https://www.oreilly.com/ideas/transforming-enterprise-integration-with-reactive-streams
Reactive Programming vs Reactive
Systems
https://www.oreilly.com/ideas/reactive-programming-vs-reactive-systems
References
4 The example: https://github.com/lightbend/
reactive-integration-examples/tree/master/
integration-webinar
4 Akka Streams documentation: https://doc.akka.io/
docs/akka/current/stream/index.html?
language=java
4 Alpakka documentation: https://
developer.lightbend.com/docs/alpakka/current/
Thank you!

More Related Content

What's hot (20)

PDF
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Lightbend
 
PDF
What's new in Confluent 3.2 and Apache Kafka 0.10.2
confluent
 
PDF
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Lightbend
 
PPTX
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
Legacy Typesafe (now Lightbend)
 
PDF
UDF/UDAF: the extensibility framework for KSQL (Hojjat Jafapour, Confluent) K...
confluent
 
PDF
Steps to Building a Streaming ETL Pipeline with Apache Kafka® and KSQL
confluent
 
PPTX
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
PDF
Introducing Kafka's Streams API
confluent
 
PDF
Moving from Big Data to Fast Data? Here's How To Pick The Right Streaming Engine
Lightbend
 
PDF
Akka and Kubernetes: Reactive From Code To Cloud
Lightbend
 
PDF
ksqlDB: A Stream-Relational Database System
confluent
 
PDF
Introduction to Kafka Streams
Guozhang Wang
 
PPTX
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang
 
PDF
Akka Streams And Kafka Streams: Where Microservices Meet Fast Data
Lightbend
 
PDF
Akka Streams - From Zero to Kafka
Mark Harrison
 
PPTX
Kafka Streams for Java enthusiasts
Slim Baltagi
 
PDF
KSQL in Practice (Almog Gavra, Confluent) Kafka Summit London 2019
confluent
 
PDF
Lightbend Fast Data Platform
Lightbend
 
PPTX
Lessons Learned From PayPal: Implementing Back-Pressure With Akka Streams And...
Lightbend
 
PDF
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent
HostedbyConfluent
 
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Lightbend
 
What's new in Confluent 3.2 and Apache Kafka 0.10.2
confluent
 
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Lightbend
 
Typesafe Reactive Platform: Monitoring 1.0, Commercial features and more
Legacy Typesafe (now Lightbend)
 
UDF/UDAF: the extensibility framework for KSQL (Hojjat Jafapour, Confluent) K...
confluent
 
Steps to Building a Streaming ETL Pipeline with Apache Kafka® and KSQL
confluent
 
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
Introducing Kafka's Streams API
confluent
 
Moving from Big Data to Fast Data? Here's How To Pick The Right Streaming Engine
Lightbend
 
Akka and Kubernetes: Reactive From Code To Cloud
Lightbend
 
ksqlDB: A Stream-Relational Database System
confluent
 
Introduction to Kafka Streams
Guozhang Wang
 
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang
 
Akka Streams And Kafka Streams: Where Microservices Meet Fast Data
Lightbend
 
Akka Streams - From Zero to Kafka
Mark Harrison
 
Kafka Streams for Java enthusiasts
Slim Baltagi
 
KSQL in Practice (Almog Gavra, Confluent) Kafka Summit London 2019
confluent
 
Lightbend Fast Data Platform
Lightbend
 
Lessons Learned From PayPal: Implementing Back-Pressure With Akka Streams And...
Lightbend
 
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent
HostedbyConfluent
 

Similar to Revitalizing Enterprise Integration with Reactive Streams (20)

PDF
Flink Forward Berlin 2018: Viktor Klang - Keynote "The convergence of stream ...
Flink Forward
 
PDF
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
confluent
 
PDF
DCSF 19 Microservices API: Routing Across Any Infrastructure
Docker, Inc.
 
PDF
Java Library for High Speed Streaming Data
Oracle Developers
 
PDF
ETL as a Platform: Pandora Plays Nicely Everywhere with Real-Time Data Pipelines
confluent
 
PPT
Distributed & Highly Available server applications in Java and Scala
Max Alexejev
 
PDF
Rethinking Stream Processing with Apache Kafka, Kafka Streams and KSQL
Kai Wähner
 
PDF
JHipster conf 2019 - Kafka Ecosystem
Florent Ramiere
 
PDF
New Features in Confluent Platform 6.0 / Apache Kafka 2.6
Kai Wähner
 
PPT
Kafka Explainaton
NguyenChiHoangMinh
 
PDF
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner
 
PDF
Jug - ecosystem
Florent Ramiere
 
PDF
Chti jug - 2018-06-26
Florent Ramiere
 
PDF
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis
 
PDF
Devoxx university - Kafka de haut en bas
Florent Ramiere
 
PDF
DBCC 2021 - FLiP Stack for Cloud Data Lakes
Timothy Spann
 
PDF
Cloud lunch and learn real-time streaming in azure
Timothy Spann
 
PDF
Beyond the brokers - Un tour de l'écosystème Kafka
Florent Ramiere
 
PPT
LinuxONE cavemen mmit 20160505 v1.0
Marcel Mitran
 
PDF
Concepts and Patterns for Streaming Services with Kafka
QAware GmbH
 
Flink Forward Berlin 2018: Viktor Klang - Keynote "The convergence of stream ...
Flink Forward
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
confluent
 
DCSF 19 Microservices API: Routing Across Any Infrastructure
Docker, Inc.
 
Java Library for High Speed Streaming Data
Oracle Developers
 
ETL as a Platform: Pandora Plays Nicely Everywhere with Real-Time Data Pipelines
confluent
 
Distributed & Highly Available server applications in Java and Scala
Max Alexejev
 
Rethinking Stream Processing with Apache Kafka, Kafka Streams and KSQL
Kai Wähner
 
JHipster conf 2019 - Kafka Ecosystem
Florent Ramiere
 
New Features in Confluent Platform 6.0 / Apache Kafka 2.6
Kai Wähner
 
Kafka Explainaton
NguyenChiHoangMinh
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner
 
Jug - ecosystem
Florent Ramiere
 
Chti jug - 2018-06-26
Florent Ramiere
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis
 
Devoxx university - Kafka de haut en bas
Florent Ramiere
 
DBCC 2021 - FLiP Stack for Cloud Data Lakes
Timothy Spann
 
Cloud lunch and learn real-time streaming in azure
Timothy Spann
 
Beyond the brokers - Un tour de l'écosystème Kafka
Florent Ramiere
 
LinuxONE cavemen mmit 20160505 v1.0
Marcel Mitran
 
Concepts and Patterns for Streaming Services with Kafka
QAware GmbH
 
Ad

More from Lightbend (20)

PDF
IoT 'Megaservices' - High Throughput Microservices with Akka
Lightbend
 
PDF
How Akka Cluster Works: Actors Living in a Cluster
Lightbend
 
PDF
The Reactive Principles: Eight Tenets For Building Cloud Native Applications
Lightbend
 
PDF
Putting the 'I' in IoT - Building Digital Twins with Akka Microservices
Lightbend
 
PDF
Akka at Enterprise Scale: Performance Tuning Distributed Applications
Lightbend
 
PDF
Digital Transformation with Kubernetes, Containers, and Microservices
Lightbend
 
PDF
Detecting Real-Time Financial Fraud with Cloudflow on Kubernetes
Lightbend
 
PDF
Cloudstate - Towards Stateful Serverless
Lightbend
 
PDF
Digital Transformation from Monoliths to Microservices to Serverless and Beyond
Lightbend
 
PDF
Akka Anti-Patterns, Goodbye: Six Features of Akka 2.6
Lightbend
 
PPTX
Lessons From HPE: From Batch To Streaming For 20 Billion Sensors With Lightbe...
Lightbend
 
PDF
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Lightbend
 
PDF
Microservices, Kubernetes, and Application Modernization Done Right
Lightbend
 
PDF
Full Stack Reactive In Practice
Lightbend
 
PDF
Akka and Kubernetes: A Symbiotic Love Story
Lightbend
 
PPTX
Scala 3 Is Coming: Martin Odersky Shares What To Know
Lightbend
 
PDF
Migrating From Java EE To Cloud-Native Reactive Systems
Lightbend
 
PDF
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Lightbend
 
PDF
Designing Events-First Microservices For A Cloud Native World
Lightbend
 
PDF
Scala Security: Eliminate 200+ Code-Level Threats With Fortify SCA For Scala
Lightbend
 
IoT 'Megaservices' - High Throughput Microservices with Akka
Lightbend
 
How Akka Cluster Works: Actors Living in a Cluster
Lightbend
 
The Reactive Principles: Eight Tenets For Building Cloud Native Applications
Lightbend
 
Putting the 'I' in IoT - Building Digital Twins with Akka Microservices
Lightbend
 
Akka at Enterprise Scale: Performance Tuning Distributed Applications
Lightbend
 
Digital Transformation with Kubernetes, Containers, and Microservices
Lightbend
 
Detecting Real-Time Financial Fraud with Cloudflow on Kubernetes
Lightbend
 
Cloudstate - Towards Stateful Serverless
Lightbend
 
Digital Transformation from Monoliths to Microservices to Serverless and Beyond
Lightbend
 
Akka Anti-Patterns, Goodbye: Six Features of Akka 2.6
Lightbend
 
Lessons From HPE: From Batch To Streaming For 20 Billion Sensors With Lightbe...
Lightbend
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Lightbend
 
Microservices, Kubernetes, and Application Modernization Done Right
Lightbend
 
Full Stack Reactive In Practice
Lightbend
 
Akka and Kubernetes: A Symbiotic Love Story
Lightbend
 
Scala 3 Is Coming: Martin Odersky Shares What To Know
Lightbend
 
Migrating From Java EE To Cloud-Native Reactive Systems
Lightbend
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Lightbend
 
Designing Events-First Microservices For A Cloud Native World
Lightbend
 
Scala Security: Eliminate 200+ Code-Level Threats With Fortify SCA For Scala
Lightbend
 
Ad

Recently uploaded (20)

PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 

Revitalizing Enterprise Integration with Reactive Streams

  • 1. Revitalizing Enterprise Integration with Reactive Streams √ Deputy CTO at Lightbend @viktorklang / [email protected] / http://viktorklang.com
  • 3. What to expect from this talk?
  • 4. The most common programming tasks? 4 Naming things 4 Design the Perfect Bikeshed 4 Receive inputs 4 Transform data 4 Produce outputs
  • 7. Step 1: connect(ALL THE THINGS) Step 2: Ship it!
  • 8. ||
  • 9. The past and present of Enterprise Integration
  • 10. Now playing: «Why SOA failed (Klang remix)» 4 WS 4 Schema evolution 4 Service Discovery 4 Testing 4 ESBs
  • 11. The rise of Enterprise Integration Patterns1 1 Gregor Hohpe and Bobby Woolf, 2003
  • 14. Reactive Enterprise Integration? 4 Streaming as a first-class concept 4 Flow control built-in 4 Reusable shapes for integration
  • 15. Flow Control Facts 4 Buffers hide latency 4 Buffers do not solve overload problems 4 Load shedding does not inform sender 4 Blocking creates a low upper limit on concurrency 4 Blocking makes fan-in and fan-out problematic
  • 16. Flow Control Done Right 4 Support potentially unbounded sequences 4 Sender runs independently from receiver 4 Rate of reception may vary from rate of sending 4 Dropping data should be a choice and not a necessity 4 Minimal—if any—overhead in terms of latency and throughput
  • 17. Reactive Streams2 & java.util.concurrent.Flow 4 Publisher<Output> 4 Subscriber<Input> 4 Processor<Input, Output> 4 Subscription 2 www.reactive-streams.org
  • 19. Reactive Streams & java.util.concurrent.Flow 4 «push» when subscriber is faster 4 «pull» when publisher is faster 4 switches dynamically between both 4 smart prefetch made possible
  • 20. 4 immutable 4 reusable 4 composable 4 coordinated 4 asynchronous 4 distributed 4 transformations
  • 21. Akka Stream building blocks3 3 Non-exhaustive list
  • 23. Riding the Alpakka4 Reactive Enterprise Integration based on Akka Streams—for Java and Scala. 4 https://github.com/akka/alpakka (Apache v2)
  • 25. Connectors currently found in Alpakka5 AMQP, Apache Geode, Apache Solr, AWS DynamoDB, AWS Kinesis, AWS Lambda, AWS S3, AWS SNS, AWS SQS, Azure Storage Queue, Cassandra, Elasticsearch, File IO, FTP, Google Cloud Pub/Sub, HBase, IronMq, JMS, MongoDB, MQTT, OrientDB, Server-sent Events, Slick (JDBC), Spring Web, Unix Domain Socket 5 And also HTTP, TCP, Apache Kafka, and many more…
  • 26. Further reading Transforming enterprise integration with reactive streams https://www.oreilly.com/ideas/transforming-enterprise-integration-with-reactive-streams Reactive Programming vs Reactive Systems https://www.oreilly.com/ideas/reactive-programming-vs-reactive-systems
  • 27. References 4 The example: https://github.com/lightbend/ reactive-integration-examples/tree/master/ integration-webinar 4 Akka Streams documentation: https://doc.akka.io/ docs/akka/current/stream/index.html? language=java 4 Alpakka documentation: https:// developer.lightbend.com/docs/alpakka/current/