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

ODP
Boost your App with Gatling
PPT
Reactive java programming for the impatient
PPTX
From Streams to Reactive Streams
PDF
Next Generation Automation in Ruckus Wireless
PDF
Reactive Programming
PDF
Javantura v4 - Java and lambdas and streams - are they better than for loops ...
PDF
Modern app programming with RxJava and Eclipse Vert.x
PDF
Multitenant SaaS Apps In Rails By Iqbal Hasnan
Boost your App with Gatling
Reactive java programming for the impatient
From Streams to Reactive Streams
Next Generation Automation in Ruckus Wireless
Reactive Programming
Javantura v4 - Java and lambdas and streams - are they better than for loops ...
Modern app programming with RxJava and Eclipse Vert.x
Multitenant SaaS Apps In Rails By Iqbal Hasnan

What's hot (20)

PDF
Trailblazer Rails Architecture
PDF
Let’s go reactive with JAVA
PDF
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
PPTX
Reactive programming intro
PDF
Raphael Amorim - Scrating React Fiber
PDF
Alexandra johnson reducing operational barriers to model training
PDF
Sigmoid akka stream
PDF
A Tour of the Modern Java Platform
PPTX
Advantages of Rails Framework
PDF
React + Redux for Web Developers
PPTX
Ansible: Infrastructure as Code for OpenShift
PPTX
CONDG April 23 2020 - Baskar Rao - GraphQL
PPTX
Reactive programming
PDF
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
PDF
Introducing spring
PDF
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
PDF
Building Robust Pipelines with Airflow
PDF
Reactive programming and RxJS
PDF
Arquitecturas de microservicios - Medianet Software
PDF
New in Spring Framework 5.0: Functional Web Framework
Trailblazer Rails Architecture
Let’s go reactive with JAVA
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
Reactive programming intro
Raphael Amorim - Scrating React Fiber
Alexandra johnson reducing operational barriers to model training
Sigmoid akka stream
A Tour of the Modern Java Platform
Advantages of Rails Framework
React + Redux for Web Developers
Ansible: Infrastructure as Code for OpenShift
CONDG April 23 2020 - Baskar Rao - GraphQL
Reactive programming
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Introducing spring
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Building Robust Pipelines with Airflow
Reactive programming and RxJS
Arquitecturas de microservicios - Medianet Software
New in Spring Framework 5.0: Functional Web Framework
Ad

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

PPTX
Reactive Microservices with eclipse vert.x
PPTX
App Mod 04: Reactive microservices with eclipse vert.x
PPTX
Reactive applications and microservices with Vert.x tool-kit
PDF
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
PDF
Building Reactive Microservices with Vert.x
PDF
Building Reactive Microservices In Java 1st Edition Clement Escoffier
PDF
Malmberg meetup June 2018 - Building microservices with Vert.x
PDF
VJUG 24 - Building microservices with Vert.x
PDF
Vert.x NL meetup October 2017 - Building microservices with Vert.x
PDF
Dublin JUG February 2018 - Building microservices with Vert.x
PDF
JBCNConf 2017 - Building microservices with Vert.x
PDF
Building microservices with Vert.X @ Fall 2016
PDF
Utrecht JUG - Building microservices with Vert.x
PDF
Codemotion Amsterdam 2016 - Building microservices with Vert.x
PDF
Building microservices with Vert.x - Bert Jan Schrijver - Codemotion Amsterda...
PDF
Reactive Polyglot Microservices with OpenShift and Vert.x
PDF
Vertx In Action Asynchronous And Reactive Java Julien Ponge
PDF
Devoxx UK 2016 - Building microservices with Vert.x
PDF
Building a High-Performance Reactive Microservices Architecture
PPTX
Vertx – reactive toolkit
Reactive Microservices with eclipse vert.x
App Mod 04: Reactive microservices with eclipse vert.x
Reactive applications and microservices with Vert.x tool-kit
TDC2017 | São Paulo - Trilha Java EE How we figured out we had a SRE team at ...
Building Reactive Microservices with Vert.x
Building Reactive Microservices In Java 1st Edition Clement Escoffier
Malmberg meetup June 2018 - Building microservices with Vert.x
VJUG 24 - Building microservices with Vert.x
Vert.x NL meetup October 2017 - Building microservices with Vert.x
Dublin JUG February 2018 - Building microservices with Vert.x
JBCNConf 2017 - Building microservices with Vert.x
Building microservices with Vert.X @ Fall 2016
Utrecht JUG - Building microservices with Vert.x
Codemotion Amsterdam 2016 - Building microservices with Vert.x
Building microservices with Vert.x - Bert Jan Schrijver - Codemotion Amsterda...
Reactive Polyglot Microservices with OpenShift and Vert.x
Vertx In Action Asynchronous And Reactive Java Julien Ponge
Devoxx UK 2016 - Building microservices with Vert.x
Building a High-Performance Reactive Microservices Architecture
Vertx – reactive toolkit
Ad

Recently uploaded (20)

DOCX
573137875-Attendance-Management-System-original
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPT
Project quality management in manufacturing
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
additive manufacturing of ss316l using mig welding
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Construction Project Organization Group 2.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Welding lecture in detail for understanding
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
573137875-Attendance-Management-System-original
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
OOP with Java - Java Introduction (Basics)
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Project quality management in manufacturing
CYBER-CRIMES AND SECURITY A guide to understanding
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
additive manufacturing of ss316l using mig welding
UNIT 4 Total Quality Management .pptx
Arduino robotics embedded978-1-4302-3184-4.pdf
Construction Project Organization Group 2.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Welding lecture in detail for understanding
UNIT-1 - COAL BASED THERMAL POWER PLANTS

Reactive microservices with eclipse vert.x