SlideShare a Scribd company logo
Reactive Programming
Dirk Janssen – Integratie Consultant
Reactive Manifesto
“Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to
develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they
meet it with elegance rather than disaster. Reactive Systems are highly responsive, giving users effective
interactive feedback.”
What do they mean?
Simplified explanation
“Reactive programming is programming with asynchronous data streams.”
Four fundamental effects of programming
One Many
Sync T iterable[T]
Async Future[T] Observable[T]
Reactive Components
• Vert.x
• Ratpack
• ReactiveX (C#, Java, Scala, JavaScript, Python, …)
• Akka Streams
• React
• (Reactive) Spring 5
• etc.
Vert.x
● Vert.x the plain old jar file
● Event Driven
● Asynchronous
● Non Blocking
● Event Loop
Event Loop
● Verticles
● Multi-reactor Pattern.
The golden rule
Don’t Block the Event Loop!
Why Vert.x for microservices
● TCP, UDP, HTTP clients
● MongoDB, JDBC, SQL, Redis, MySQL/PostgreSQL
● Openshift support
● Camel bridge
● Etc.. (http://vertx.io/docs/)
Verticle
● Smallest unit of deployment
● Deploy with Vert.x
● Runs on the event loop
● Types
● Standard;
● Worker verticle;
● Multi-threaded worker verticle.
Event-bus
● Messaging between verticles;
● Point to Point
● Publish / subscribe
● Request / Reply
● Polyglot
Hello, World!
Callback hell
RxJava(2)
● ReactiveX
● Observer pattern;
● Event and Data Flows;
● Asynchronous;
● Non blocking.
Observable
● Speaker
● (Operator)
● Listener
Observable
● Events
● onNext
● onError
● onCompleted
● Subscribe
● Hot vs Cold
Observable types
● Observable
● Single
● Maybe
● Flowable
● Completable
Operators
● Zip;
● Merge;
● FlatMap;
● Skip;
● Count;
● Filter;
● Etc...
(Reminder) Callback hell
Composition via Observables
Callback hell
Marbles
● http://rxmarbles.com/
Threading
● Single threaded
● Multi-threaded
● ObserveOn
● SubscribeOn;
● Easy, or not...

More Related Content

PDF
What is reactive
PDF
Automatize a detecção de ameaças e evite falsos positivos
PPTX
Scalable Service Architectures
PDF
Migrating a legacy logging system: Etsy’s journey to Elastic Cloud
PDF
Elastic APM: amplificação dos seus logs e métricas para proporcionar um panor...
PPTX
What it Means to be a Next-Generation MSP - CloudHesive
PDF
Capgemini: Observability within the Dutch government
PDF
The Reactive Principles: Eight Tenets For Building Cloud Native Applications
What is reactive
Automatize a detecção de ameaças e evite falsos positivos
Scalable Service Architectures
Migrating a legacy logging system: Etsy’s journey to Elastic Cloud
Elastic APM: amplificação dos seus logs e métricas para proporcionar um panor...
What it Means to be a Next-Generation MSP - CloudHesive
Capgemini: Observability within the Dutch government
The Reactive Principles: Eight Tenets For Building Cloud Native Applications

What's hot (20)

PDF
Construire une plateforme d'observabilité centralisée
PDF
Keynote : évolution et vision d'Elastic Observability
PDF
Automate threat detections and avoid false positives
PDF
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
PPTX
Scalable service architectures @ BWS16
PDF
Elastic APM: Combinalo con tus logs y métricas para una visibilidad completa
PDF
Datadog- Monitoring In Motion
PDF
Elastic APM: Amplía tus logs y métricas para ver el panorama completo
PDF
T-Mobile and Elastic
PDF
Consistency in Distributed Systems, Part 2
PDF
Turning Evidence into Insights: How NCIS Leverages Elastic
PDF
Reactive Applications
PPTX
Overview of v cloud case studies
PPTX
Overview of Blue Medora - New Relic Plugin for Microsoft SQL Server
PPTX
Real-time Centralized Data Platform
PPTX
infrastructure management at digital ages
PDF
Big Data Architectures
PDF
Consistency in Distributed Systems
PPTX
Monitoring in Big Data Frameworks @ Big Data Meetup, Timisoara, 2015
PPTX
Migrating IT to the Cloud - Zenoss in Amazon Web Services
Construire une plateforme d'observabilité centralisée
Keynote : évolution et vision d'Elastic Observability
Automate threat detections and avoid false positives
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Scalable service architectures @ BWS16
Elastic APM: Combinalo con tus logs y métricas para una visibilidad completa
Datadog- Monitoring In Motion
Elastic APM: Amplía tus logs y métricas para ver el panorama completo
T-Mobile and Elastic
Consistency in Distributed Systems, Part 2
Turning Evidence into Insights: How NCIS Leverages Elastic
Reactive Applications
Overview of v cloud case studies
Overview of Blue Medora - New Relic Plugin for Microsoft SQL Server
Real-time Centralized Data Platform
infrastructure management at digital ages
Big Data Architectures
Consistency in Distributed Systems
Monitoring in Big Data Frameworks @ Big Data Meetup, Timisoara, 2015
Migrating IT to the Cloud - Zenoss in Amazon Web Services
Ad

Similar to Reactive programming - Dirk Janssen (presentation 13th SPIN Meetup) (20)

PPT
Reactive programming with examples
PDF
Reactive Applications in Java
PDF
Reactive microservices with eclipse vert.x
PPTX
Developing reliable applications with .net core and AKS
PDF
Java EE microservices architecture - evolving the monolith
PPTX
Building Reactive Fast Data & the Data Lake with Akka, Kafka, Spark
PDF
Reactive programming
PPTX
App Mod 04: Reactive microservices with eclipse vert.x
PDF
03 monoliths to microservices with java ee and spring boot
PDF
Containerization Principles Overview for app development and deployment
PPTX
Reactive applications and microservices with Vert.x tool-kit
PPTX
20160609 nike techtalks reactive applications tools of the trade
PDF
Reactive mesh
PDF
TDC2017 | São Paulo - Trilha Arquitetura Java How we figured out we had a SRE...
PPTX
Monoliths to Microservices with Jave EE and Spring Boot
PDF
Developing reliable applications with .net core and AKS
PPTX
Functional reactive programming
PPTX
High-speed, Reactive Microservices 2017
PDF
Actor model in F# and Akka.NET
PPTX
Enterprise Software Architecture styles
Reactive programming with examples
Reactive Applications in Java
Reactive microservices with eclipse vert.x
Developing reliable applications with .net core and AKS
Java EE microservices architecture - evolving the monolith
Building Reactive Fast Data & the Data Lake with Akka, Kafka, Spark
Reactive programming
App Mod 04: Reactive microservices with eclipse vert.x
03 monoliths to microservices with java ee and spring boot
Containerization Principles Overview for app development and deployment
Reactive applications and microservices with Vert.x tool-kit
20160609 nike techtalks reactive applications tools of the trade
Reactive mesh
TDC2017 | São Paulo - Trilha Arquitetura Java How we figured out we had a SRE...
Monoliths to Microservices with Jave EE and Spring Boot
Developing reliable applications with .net core and AKS
Functional reactive programming
High-speed, Reactive Microservices 2017
Actor model in F# and Akka.NET
Enterprise Software Architecture styles
Ad

More from RubiX BV (11)

PPTX
Reactive Streams - László van den Hoek
PPTX
Meetup hip 18 april 2017
PPTX
Rubix - Serverless architecture
PDF
Crowd Designing Microservices Architecture
PPTX
Microservices - an integration perspective
PPTX
RubiX ID - Big Data - Ruben Middeljans, Stephan Vos
PPTX
RubiX ID - Continuous Integration & Continuous Delivery - Roel van den Berg, ...
PPTX
RubiX ID - SOA Governance - Wouter de Vries
PPTX
RubiX ID - SOA Security - Ingrid Cox
PPTX
RubiX ID - Tibco business works™ 6 in de praktijk - Bart de Koning en Marcel ...
PPTX
RubiX ID - API management - Pim Gaemers
Reactive Streams - László van den Hoek
Meetup hip 18 april 2017
Rubix - Serverless architecture
Crowd Designing Microservices Architecture
Microservices - an integration perspective
RubiX ID - Big Data - Ruben Middeljans, Stephan Vos
RubiX ID - Continuous Integration & Continuous Delivery - Roel van den Berg, ...
RubiX ID - SOA Governance - Wouter de Vries
RubiX ID - SOA Security - Ingrid Cox
RubiX ID - Tibco business works™ 6 in de praktijk - Bart de Koning en Marcel ...
RubiX ID - API management - Pim Gaemers

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Digital Strategies for Manufacturing Companies
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
AI in Product Development-omnex systems
PPTX
history of c programming in notes for students .pptx
PTS Company Brochure 2025 (1).pdf.......
Odoo Companies in India – Driving Business Transformation.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Digital Strategies for Manufacturing Companies
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
CHAPTER 2 - PM Management and IT Context
How Creative Agencies Leverage Project Management Software.pdf
Transform Your Business with a Software ERP System
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
Upgrade and Innovation Strategies for SAP ERP Customers
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
AI in Product Development-omnex systems
history of c programming in notes for students .pptx

Reactive programming - Dirk Janssen (presentation 13th SPIN Meetup)