SlideShare a Scribd company logo
REACTIVE
=
Erlang + Node.js + Polyglot
――――――――――――
JVM
http://vertx.io
Reactive Vert.x
Event-Driven
Message passing
Event bus
Non-blocking IO
Scalable
Distributed event-bus
Location transparency
Clustered in-memory cache
Resilient
Module and verticle isolation
Worker processes
Automatic HA failover
Responsive
“Don't block the event loop!”
Time-outs
Event-bus “back pressure”
Java
Ruby
Scala
Clojure
Python
Groovy
JavaScript
...
PHP
Polyglot Friction
Andrew Cholakian
http://blog.andrewvc.com/vertx-node-on-ropes
Why ?
https://rx.codeplex.com/
https://github.com/Netflix/RxJava
https://github.com/vert-x/mod-rxvertx
Reactive Vert.x
Callback Hell
eventBus.<JsonObject> sendWithTimeout(metricsAddress, METERS_BUS_REQUEST,
1000L, ar1 -> {
JsonObject metersData =
ar1.succeeded() ? ar1.result().body() : new JsonObject();
eventBus.<JsonObject> sendWithTimeout(metricsAddress,
HISTOGRAMS_BUS_REQUEST, 1000L,
ar2 -> {
JsonObject histogramData =
ar2.succeeded() ? ar2.result().body() : new JsonObject();
processData(metersData.mergeIn(histogramData));
});
});
Callback Help
Observable<JsonObject> observeMeters =
eventBus.<JsonObject, JsonObject>
send(metricsAddress, METERS_BUS_REQUEST)
.map(msg -> msg.body())
.timeout(1L, SECONDS, from(new JsonObject()));
Observable<JsonObject> observeHistograms =
eventBus.<JsonObject, JsonObject>
send(metricsAddress, HISTOGRAMS_BUS_REQUEST)
.map(msg -> msg.body())
.timeout(1L, SECONDS, from(new JsonObject()));
zip(observeMeters, observeHistograms,
(jo1, jo2) -> jo1.mergeIn(jo2))
.subscribe(data -> processData(data));
Reactive Vert.x
Reactive Vert.x
Reactive Vert.x
http://careers.unbounce.com
@ddossot

More Related Content

PPT
JS everywhere 2011
PDF
State management in a GraphQL era
ODP
How to unit test your React/Redux app
PPT
Server side JavaScript: going all the way
PDF
rx-java-presentation
PDF
Decentralized Stream Processing over Web-enabled Devices
PDF
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3
PDF
OB1K - New, Better, Faster, Devops Friendly Java container by Outbrain
JS everywhere 2011
State management in a GraphQL era
How to unit test your React/Redux app
Server side JavaScript: going all the way
rx-java-presentation
Decentralized Stream Processing over Web-enabled Devices
Performance measurement methodology — Maksym Pugach | Elixir Evening Club 3
OB1K - New, Better, Faster, Devops Friendly Java container by Outbrain

What's hot (20)

PPTX
Ob1k presentation at Java.IL
PPTX
RxJava Applied
PDF
Non Blocking I/O for Everyone with RxJava
PDF
KSQL: The Streaming SQL Engine for Apache Kafka
PDF
Event loop
PDF
Futureproof angular 1.x applications - yannick houbrix
PDF
Counter Wars (JEEConf 2016)
PDF
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
PDF
Asynchronní programování
PPTX
The Road To Reactive with RxJava JEEConf 2016
PDF
RxJava on Android
PPTX
Introduction to Reactive Java
PDF
Intro to RxJava/RxAndroid - GDG Munich Android
ZIP
Javascript Everywhere From Nose To Tail
PDF
Callbacks and control flow in Node js
PPTX
Stress test your backend with Gatling
PDF
非同期javascriptの過去と未来
PPT
Garbage Collection In Micorosoft
KEY
Introduction to node.js
PDF
Comet with node.js and V8
Ob1k presentation at Java.IL
RxJava Applied
Non Blocking I/O for Everyone with RxJava
KSQL: The Streaming SQL Engine for Apache Kafka
Event loop
Futureproof angular 1.x applications - yannick houbrix
Counter Wars (JEEConf 2016)
人間では判定できない101すくみじゃんけんをコンピュータに判定させたい for Keras.js
Asynchronní programování
The Road To Reactive with RxJava JEEConf 2016
RxJava on Android
Introduction to Reactive Java
Intro to RxJava/RxAndroid - GDG Munich Android
Javascript Everywhere From Nose To Tail
Callbacks and control flow in Node js
Stress test your backend with Gatling
非同期javascriptの過去と未来
Garbage Collection In Micorosoft
Introduction to node.js
Comet with node.js and V8
Ad

Similar to Reactive Vert.x (20)

PDF
Designing a Scalable Data Platform
PPTX
4Developers 2015: Programowanie synchroniczne i asynchroniczne - dwa światy k...
PDF
Serverless Java on Kubernetes
PPTX
Vert.x - Reactive & Distributed [Devoxx version]
PDF
Advanced akka features
PDF
Virtualizing Java in Java (jug.ru)
PPTX
Introduction to Node.js
PPTX
Introduction to Vert.x
PDF
Riak at The NYC Cloud Computing Meetup Group
PDF
The Cloud-natives are RESTless @ JavaOne
PPTX
Introduction Node.js
PPTX
Scala Programming for Semantic Web Developers ESWC Semdev2015
PDF
Akka lsug skills matter
PDF
Scaling Web Apps with Akka
PDF
wtf is in Java/JDK/wtf7?
PDF
RxJS - The Reactive extensions for JavaScript
PDF
Node.js - async for the rest of us.
PPTX
NodeJS
PDF
WebCamp:Front-end Developers Day. Александр Мостовенко "Rx.js - делаем асинхр...
PDF
rx.js make async programming simpler
Designing a Scalable Data Platform
4Developers 2015: Programowanie synchroniczne i asynchroniczne - dwa światy k...
Serverless Java on Kubernetes
Vert.x - Reactive & Distributed [Devoxx version]
Advanced akka features
Virtualizing Java in Java (jug.ru)
Introduction to Node.js
Introduction to Vert.x
Riak at The NYC Cloud Computing Meetup Group
The Cloud-natives are RESTless @ JavaOne
Introduction Node.js
Scala Programming for Semantic Web Developers ESWC Semdev2015
Akka lsug skills matter
Scaling Web Apps with Akka
wtf is in Java/JDK/wtf7?
RxJS - The Reactive extensions for JavaScript
Node.js - async for the rest of us.
NodeJS
WebCamp:Front-end Developers Day. Александр Мостовенко "Rx.js - делаем асинхр...
rx.js make async programming simpler
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Getting Started with Data Integration: FME Form 101
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PPTX
Machine Learning_overview_presentation.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
A Presentation on Artificial Intelligence
Per capita expenditure prediction using model stacking based on satellite ima...
Group 1 Presentation -Planning and Decision Making .pptx
MIND Revenue Release Quarter 2 2025 Press Release
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Tartificialntelligence_presentation.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Getting Started with Data Integration: FME Form 101
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Machine Learning_overview_presentation.pptx
Assigned Numbers - 2025 - Bluetooth® Document
A Presentation on Artificial Intelligence

Reactive Vert.x