SlideShare a Scribd company logo
MONOLITHS TO MICROSERVICES: APP
TRANSFORMATION
Hands-on Technical Workshop
Ram Maddali
Senior Architect
@RamMaddali
rmaddali@redhat.com
Anand Akella
Senior Architect
aakella@redhat.com
REACTIVE MICROSERVICES
INSERT DESIGNATOR, IF NEEDED
The 2 faces of Reactive
Reactive
A software showing
responses to stimuli
Reactive
Systems
Reactive
Programming
Akka, Vert.x Reactor, RX, Vert.x
Actor, Agent
Autonomic
Systems
Data flow,
Functional
programming
INSERT DESIGNATOR, IF NEEDED
Execution Model (single core)
Blocking
● Example: CGI, early versions of server
side JavaScript.
● Can only scale horizontally
Multi thread
● Example: Java EE, Tomcat, Spring (non
reactive)
● Scales horizontally and vertically
Non blocking
● Example: NodeJS, Eclipse Vert.x, Akka,
Spring reactive
● Scales horizontally and vertically
Single Thread
Blocking
Single Thread
Non-blocking
Multi thread
= Execution Thread
= Request 1 = Request 2 = Request 3
Time
Reactive Systems
Request 1 waiting for DB
Multi Thread
Non-blocking
INSERT DESIGNATOR, IF NEEDED5
Eclipse Vert.x
Vert.x is a toolkit to build distributed and reactive systems
● Asynchronous Non-Blocking development model
● Simplified concurrency (event loop)
● Reactive microservice, Web applications, IOT
● Ideal high-volume, low-latency applications
● Un-opinionated
● Understands clustering in its core architecture
Home - http://www.vertx.io
INSERT DESIGNATOR, IF NEEDED6
VERT.X EVENT LOOP
EVENT
QUEUE
EVENT
LOOP
WORKER
THREADS
async
Handle Thousands of Requests
With Few Threads
response
INSERT DESIGNATOR, IF NEEDED7
Vert.x Ecosystem
INSERT DESIGNATOR, IF NEEDED8
● Explore Vert.x Maven project
● Create an API gateway
● Run Vert.x locally
● Deploy Vert.x on OpenShift
LAB 4: Reactive Microservices with Eclipse Vert.x
LAB: REACTIVE MICROSERVICES
WITH ECLIPSE VERT.X
GOAL FOR LAB
In this lab you will learn:
● How Event-based architectures supercharge microservice
apps
● Use cases for reactive applications
● Develop microservices using Eclipse Vert.x
● Interact with other microservices without blocking
● Learn the basics of Reactive programming
CURRENT STATE
OpenShift
coolstore-prod
Coolstore
monolith
Coolstore
database
(prod)
inventory
Inventory
microservice
Inventory
database
UI
Future Services
Future Services Future Services
Future Services
catalog
Catalog
microservice
Catalog
database
LAB: REACTIVE MICROSERVICES
SCENARIO 6 BUILDING REACTIVE MICROSERVICES
WRAP-UP AND DISCUSSION
RESULT OF LAB
In this lab you learned how to:
● Build reactive web application that are non-blocking
● Asynchronously call out to external service using Callbacks,
Handlers and Futures
● Deploy the application to OpenShift
RESULT OF LAB
OpenShift
coolstore-prod
Coolstore
monolith
Coolstore
database
(prod)
inventoryZ
Inventory
microservice
Inventory
database
catalog
Catalog
microservice
Catalog
database
cart
Cart
microservice
Cart
database
UI
checkout
Future Services
ECLIPSE VERT.X OFFER MUCH MORE
INSERT DESIGNATOR, IF NEEDED17
SERVICE DISCOVERY
Service
Provider
Service
Provider
Service
Provider
Service
Consumer
Service
Consumer
Service
Consumer
Vert.x
Service
Registry
publish lookup
Bridge Bridge Bridge
import
Kubernetes Consul Other
INSERT DESIGNATOR, IF NEEDED
Vert.x vs NodeJS
2 threads per core
NodeJS Vert.x
Vert.x
● Multi-threaded
● Polyglot (Java, JavaScript, Scala, and more)
● Supports reactive programming using RxJava, RxJS, etc
NodeJS
● Single threaded
● JavaScript only
● Support reactive programming using RxJS
INSERT DESIGNATOR, IF NEEDED19
FREE E-BOOKS
http://vertx.io/docs/
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

More Related Content

What's hot (20)

PDF
Trailblazer Rails Architecture
iqbal hasnan
 
PDF
Let’s go reactive with JAVA
Tech Triveni
 
PDF
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
Reactive programming intro
Ahmed Ehab AbdulAziz
 
PDF
Raphael Amorim - Scrating React Fiber
React Conf Brasil
 
PDF
Alexandra johnson reducing operational barriers to model training
MLconf
 
PDF
Sigmoid akka stream
Sigmoid
 
PDF
A Tour of the Modern Java Platform
VMware Tanzu
 
PPTX
Advantages of Rails Framework
Sathish Mariappan
 
PDF
React + Redux for Web Developers
Jamal Sinclair O'Garro
 
PPTX
Ansible: Infrastructure as Code for OpenShift
Ignacio Sánchez Ginés
 
PPTX
CONDG April 23 2020 - Baskar Rao - GraphQL
Matthew Groves
 
PPTX
Reactive programming
Nick Hodge
 
PDF
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
Introducing spring
Ernesto Hernández Rodríguez
 
PDF
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Sashko Stubailo
 
PDF
Building Robust Pipelines with Airflow
Erin Shellman
 
PDF
Reactive programming and RxJS
Ravi Mone
 
PDF
Arquitecturas de microservicios - Medianet Software
Ernesto Hernández Rodríguez
 
PDF
New in Spring Framework 5.0: Functional Web Framework
VMware Tanzu
 
Trailblazer Rails Architecture
iqbal hasnan
 
Let’s go reactive with JAVA
Tech Triveni
 
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Reactive programming intro
Ahmed Ehab AbdulAziz
 
Raphael Amorim - Scrating React Fiber
React Conf Brasil
 
Alexandra johnson reducing operational barriers to model training
MLconf
 
Sigmoid akka stream
Sigmoid
 
A Tour of the Modern Java Platform
VMware Tanzu
 
Advantages of Rails Framework
Sathish Mariappan
 
React + Redux for Web Developers
Jamal Sinclair O'Garro
 
Ansible: Infrastructure as Code for OpenShift
Ignacio Sánchez Ginés
 
CONDG April 23 2020 - Baskar Rao - GraphQL
Matthew Groves
 
Reactive programming
Nick Hodge
 
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Introducing spring
Ernesto Hernández Rodríguez
 
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Sashko Stubailo
 
Building Robust Pipelines with Airflow
Erin Shellman
 
Reactive programming and RxJS
Ravi Mone
 
Arquitecturas de microservicios - Medianet Software
Ernesto Hernández Rodríguez
 
New in Spring Framework 5.0: Functional Web Framework
VMware Tanzu
 

Similar to Reactive microservices with eclipse vert.x (20)

PPTX
App Mod 04: Reactive microservices with eclipse vert.x
Judy Breedlove
 
PDF
Reactive Applications in Java
Alexander Mrynskyi
 
PPTX
Reactive Microservices with eclipse vert.x
Tiera Fann, MBA
 
PDF
From User Action to Framework Reaction
jbandi
 
PDF
From User Action to Framework Reaction
Jonas Bandi
 
PDF
Monoliths to microservices workshop
Judy Breedlove
 
PDF
Reaktive Programmierung mit den Reactive Extensions (Rx)
NETUserGroupBern
 
PDF
Reactive Card Magic: Understanding Spring WebFlux and Project Reactor
VMware Tanzu
 
PDF
Akka (1)
Rahul Shukla
 
ODP
Developing Microservices using Spring - Beginner's Guide
Mohanraj Thirumoorthy
 
PPTX
Going Reactive with Spring 5
Drazen Nikolic
 
PPTX
Reactive applications tools of the trade huff po
shinolajla
 
PDF
Red Hat Java Update and Quarkus Introduction
John Archer
 
PDF
JDD2015: Java Everywhere Again—with DukeScript - Jaroslav Tulach
PROIDEA
 
PPTX
Monoliths to Microservices with Jave EE and Spring Boot
Tiera Fann, MBA
 
PDF
Rx Swift
Vincenzo Favara
 
PDF
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Red Hat Developers
 
PDF
IPT High Performance Reactive Java BGOUG 2016
Trayan Iliev
 
PDF
Going Serverless with OpenWhisk
Alex Glikson
 
PPTX
Spring Webflux
Carlos E. Salazar
 
App Mod 04: Reactive microservices with eclipse vert.x
Judy Breedlove
 
Reactive Applications in Java
Alexander Mrynskyi
 
Reactive Microservices with eclipse vert.x
Tiera Fann, MBA
 
From User Action to Framework Reaction
jbandi
 
From User Action to Framework Reaction
Jonas Bandi
 
Monoliths to microservices workshop
Judy Breedlove
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
NETUserGroupBern
 
Reactive Card Magic: Understanding Spring WebFlux and Project Reactor
VMware Tanzu
 
Akka (1)
Rahul Shukla
 
Developing Microservices using Spring - Beginner's Guide
Mohanraj Thirumoorthy
 
Going Reactive with Spring 5
Drazen Nikolic
 
Reactive applications tools of the trade huff po
shinolajla
 
Red Hat Java Update and Quarkus Introduction
John Archer
 
JDD2015: Java Everywhere Again—with DukeScript - Jaroslav Tulach
PROIDEA
 
Monoliths to Microservices with Jave EE and Spring Boot
Tiera Fann, MBA
 
Rx Swift
Vincenzo Favara
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Red Hat Developers
 
IPT High Performance Reactive Java BGOUG 2016
Trayan Iliev
 
Going Serverless with OpenWhisk
Alex Glikson
 
Spring Webflux
Carlos E. Salazar
 
Ad

Recently uploaded (20)

PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
PPTX
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
MATLAB : Introduction , Features , Display Windows, Syntax, Operators, Graph...
Amity University, Patna
 
PPTX
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PPTX
Presentation 2.pptx AI-powered home security systems Secure-by-design IoT fr...
SoundaryaBC2
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
PPTX
Big Data and Data Science hype .pptx
SUNEEL37
 
PDF
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
Damage of stability of a ship and how its change .pptx
ehamadulhaque
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
MATLAB : Introduction , Features , Display Windows, Syntax, Operators, Graph...
Amity University, Patna
 
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
MRRS Strength and Durability of Concrete
CivilMythili
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
Presentation 2.pptx AI-powered home security systems Secure-by-design IoT fr...
SoundaryaBC2
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Design Thinking basics for Engineers.pdf
CMR University
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
Big Data and Data Science hype .pptx
SUNEEL37
 
International Journal of Information Technology Convergence and services (IJI...
ijitcsjournal4
 
Ad

Reactive microservices with eclipse vert.x