SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
EVENT DRIVEN ARCHITECTURE
FOR MICROSERVICES
MARTINS SIPENKO
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ABOUT ME
▸ Located in Riga, Latvia
▸ martinssipenko
▸ Lead engineer @ KASKO, a fintech startup (insurance)
▸ Worked with PHP since around 2002
▸ AWS Certified
▸ Student at University of Latvia
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
WHY MICROSERVICES?
▸ Single responsibility services based on business logic
▸ Different technology for each service

(PHP, Golang, Node.js, AWS Lambda)
▸ Allows to scale individual service
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
HOW DO THE SERVICES COMMUNICATE
WITH EACH OTHER?
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
▸ Customer places an order
ORDER
SERVICE
THE EXAMPLE
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
▸ Customer places an order
▸ Then we need to generate a PDF invoice document
ORDER
SERVICE
PDF

SERVICE
THE EXAMPLE
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
▸ Customer places an order
▸ Then we need to generate a PDF invoice document
▸ PDF needs to be stored
ORDER
SERVICE
PDF

SERVICE
THE EXAMPLE
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
▸ Customer places an order
▸ Then we need to generate a PDF invoice document
▸ PDF needs to be stored
▸ Order needs to be updated with a link to PDF document
ORDER
SERVICE
PDF

SERVICE
THE EXAMPLE
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
INITIAL APPROACH
▸ Order service makes HTTP call to PDF service
▸ PDF is generated and stored asynchronously
▸ PDF service makes an HTTP call to update Order
ORDER
SERVICE
PDF

SERVICE
POST POST
PATCH
POST
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
THE PROBLEM
▸ Services have to be aware of each other
▸ PDF Service must know how to update an Order
ORDER
SERVICE
PDF

SERVICE
POST POST POST
PATCH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
THE PROBLEM
▸ Services have to be aware of each other
▸ PDF Service must know how to update an Order
▸ What if we throw in more services?
ORDER
SERVICE
PDF

SERVICE
POST POST POST
PATCH
EMAIL
SERVICE Send PDF to customer
CUSTOMER
SERVICE
GET
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
THIS DOES NOT SCALE VERY WELL!
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
▸ Turn things the other way around
▸ But how will PDF service know when order was placed?
ORDER
SERVICE
PDF

SERVICE
POST POST
?
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
HERE COME EVENTS!
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
▸ All services send notifications to a central BUS
▸ There is one notification queue per service
▸ Each services queue is subscribed to BUS
▸ Each service runs a background worker that listens to
respective event queue
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
Order created
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
Order created
Order created
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
Order created
Order created
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
Order created
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
Order created
Order created
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
Ignore
Store
Ignore Ignore
Order created
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
Order created
Order created
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
Ignore
Store
Ignore Ignore
Order created
PDF Generated
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
PDF Generated
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
PDF Generated
PDF Generated
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
PDF Generated
PDF Generated
Ignore IgnoreUpdate reference Email PDF
THE SECOND APPROACH
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
THE SECOND APPROACH
ORDER
SERVICE
API
POST
EMAIL
SERVICE
QUEUE
CUSTOMER
SERVICE
API
ORDER
SERVICE
QUEUE
CUSTOMER
SERVICE
QUEUE
PDF
SERVICE
QUEUE
CENTRAL MESSAGE BUS
EMAIL
SERVICE
WORKER
ORDER
SERVICE
WORKER
CUSTOMER
SERVICE
WORKER
PDF
SERVICE
WORKER
PDF Generated
PDF Generated
Ignore IgnoreUpdate reference Email PDF
Order updated
Email sent
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
THE BENEFITS
▸ If error raises on service, the message remains in queue
▸ It will be picked up later
▸ Services don't need to know about how to make updates
to other services
▸ Adding more services is easy
▸ Scales well
EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES
THANKS!
martinssipenko

martins.sipenko@gmail.com

https://joind.in/talk/f1078

Más contenido relacionado

La actualidad más candente

Building microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootBuilding microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootChris Richardson
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Chris Richardson
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...Chris Richardson
 
Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Chris Richardson
 
A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)Chris Richardson
 
Event Sourcing - Greg Young
Event Sourcing - Greg YoungEvent Sourcing - Greg Young
Event Sourcing - Greg YoungJAXLondon2014
 
Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Chris Richardson
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architectureChris Richardson
 
Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Chris Richardson
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasChris Richardson
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Chris Richardson
 
Event Sourcing with Microservices
Event Sourcing with MicroservicesEvent Sourcing with Microservices
Event Sourcing with MicroservicesRalph Winzinger
 
OReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the coreOReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the coreChris Richardson
 
Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Chris Richardson
 
NodeJS: the good parts? A skeptic’s view (jax jax2013)
NodeJS: the good parts? A skeptic’s view (jax jax2013)NodeJS: the good parts? A skeptic’s view (jax jax2013)
NodeJS: the good parts? A skeptic’s view (jax jax2013)Chris Richardson
 
Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Chris Richardson
 
Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Chris Richardson
 
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Chris Richardson
 
Microservices and Redis #redisconf Keynote
Microservices and Redis #redisconf KeynoteMicroservices and Redis #redisconf Keynote
Microservices and Redis #redisconf KeynoteChris Richardson
 

La actualidad más candente (20)

Building microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootBuilding microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring Boot
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...
 
Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)
 
A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)
 
Event Sourcing - Greg Young
Event Sourcing - Greg YoungEvent Sourcing - Greg Young
Event Sourcing - Greg Young
 
Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture
 
Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
 
Event Sourcing with Microservices
Event Sourcing with MicroservicesEvent Sourcing with Microservices
Event Sourcing with Microservices
 
OReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the coreOReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the core
 
Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)
 
NodeJS: the good parts? A skeptic’s view (jax jax2013)
NodeJS: the good parts? A skeptic’s view (jax jax2013)NodeJS: the good parts? A skeptic’s view (jax jax2013)
NodeJS: the good parts? A skeptic’s view (jax jax2013)
 
Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...
 
Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...Building and deploying microservices with event sourcing, CQRS and Docker (Me...
Building and deploying microservices with event sourcing, CQRS and Docker (Me...
 
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
 
Microservices and Redis #redisconf Keynote
Microservices and Redis #redisconf KeynoteMicroservices and Redis #redisconf Keynote
Microservices and Redis #redisconf Keynote
 

Destacado

Workflows via Event driven architecture
Workflows via Event driven architectureWorkflows via Event driven architecture
Workflows via Event driven architectureMilan Patel
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureFabien Doiron
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureChris Patterson
 
Laravel.IO A Use-Case Architecture
Laravel.IO A Use-Case ArchitectureLaravel.IO A Use-Case Architecture
Laravel.IO A Use-Case ArchitectureShawn McCool
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)WSO2
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven ArchitectureStefan Norberg
 

Destacado (6)

Workflows via Event driven architecture
Workflows via Event driven architectureWorkflows via Event driven architecture
Workflows via Event driven architecture
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Laravel.IO A Use-Case Architecture
Laravel.IO A Use-Case ArchitectureLaravel.IO A Use-Case Architecture
Laravel.IO A Use-Case Architecture
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 

Similar a Lighning Talk: Event-Driven architecture for microservices

마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online SeriesAmazon Web Services Korea
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationLahav Savir
 
Bee brief-intro-q42016
Bee brief-intro-q42016Bee brief-intro-q42016
Bee brief-intro-q42016wahyu prayudo
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsMarco Parenzan
 
Multi-Tenant Hybrid Solution based on Hybrid Connections & App Service
Multi-Tenant Hybrid Solution based on Hybrid Connections & App ServiceMulti-Tenant Hybrid Solution based on Hybrid Connections & App Service
Multi-Tenant Hybrid Solution based on Hybrid Connections & App ServiceAlexander Laysha
 
New Business Models in Travel and How Modern Architectures Support Them
New Business Models in Travel and How Modern Architectures Support ThemNew Business Models in Travel and How Modern Architectures Support Them
New Business Models in Travel and How Modern Architectures Support ThemCA Technologies
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsStijn Van Den Enden
 
Developing Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonDeveloping Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonJAXLondon2014
 
How to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndHow to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndLahav Savir
 
Cloud Cloud Cloud
Cloud Cloud CloudCloud Cloud Cloud
Cloud Cloud Cloudkdalma
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesHector Tapia
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureNGINX, Inc.
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo Landini
 
AWSome Day Philippines Keynote 2015
AWSome Day Philippines Keynote 2015AWSome Day Philippines Keynote 2015
AWSome Day Philippines Keynote 2015Hwee Bee Tan
 
TU Delft Presentation - Cloud & Serverless
TU Delft Presentation - Cloud & ServerlessTU Delft Presentation - Cloud & Serverless
TU Delft Presentation - Cloud & ServerlessSander Knape
 
Your App deserves more – The Art of App Modernization
Your App deserves more – The Art of App ModernizationYour App deserves more – The Art of App Modernization
Your App deserves more – The Art of App ModernizationChristian Güdemann
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.🐺Guewen Faivre
 
CIS 2017 - So you want to use standards to secure your APIs?
CIS 2017 - So you want to use standards to secure your APIs?CIS 2017 - So you want to use standards to secure your APIs?
CIS 2017 - So you want to use standards to secure your APIs?Bertrand Carlier
 

Similar a Lighning Talk: Event-Driven architecture for microservices (20)

마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentation
 
Bee brief-intro-q42016
Bee brief-intro-q42016Bee brief-intro-q42016
Bee brief-intro-q42016
 
Phteknow cloud
Phteknow cloudPhteknow cloud
Phteknow cloud
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Multi-Tenant Hybrid Solution based on Hybrid Connections & App Service
Multi-Tenant Hybrid Solution based on Hybrid Connections & App ServiceMulti-Tenant Hybrid Solution based on Hybrid Connections & App Service
Multi-Tenant Hybrid Solution based on Hybrid Connections & App Service
 
New Business Models in Travel and How Modern Architectures Support Them
New Business Models in Travel and How Modern Architectures Support ThemNew Business Models in Travel and How Modern Architectures Support Them
New Business Models in Travel and How Modern Architectures Support Them
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applications
 
Developing Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonDeveloping Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris Richardson
 
How to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndHow to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-End
 
Cloud Cloud Cloud
Cloud Cloud CloudCloud Cloud Cloud
Cloud Cloud Cloud
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
AWSome Day Philippines Keynote 2015
AWSome Day Philippines Keynote 2015AWSome Day Philippines Keynote 2015
AWSome Day Philippines Keynote 2015
 
TU Delft Presentation - Cloud & Serverless
TU Delft Presentation - Cloud & ServerlessTU Delft Presentation - Cloud & Serverless
TU Delft Presentation - Cloud & Serverless
 
Your App deserves more – The Art of App Modernization
Your App deserves more – The Art of App ModernizationYour App deserves more – The Art of App Modernization
Your App deserves more – The Art of App Modernization
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.The automation journey, feedback about the road to Ansible.
The automation journey, feedback about the road to Ansible.
 
CIS 2017 - So you want to use standards to secure your APIs?
CIS 2017 - So you want to use standards to secure your APIs?CIS 2017 - So you want to use standards to secure your APIs?
CIS 2017 - So you want to use standards to secure your APIs?
 

Último

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Lighning Talk: Event-Driven architecture for microservices

  • 1. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES MARTINS SIPENKO
  • 2. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ABOUT ME ▸ Located in Riga, Latvia ▸ martinssipenko ▸ Lead engineer @ KASKO, a fintech startup (insurance) ▸ Worked with PHP since around 2002 ▸ AWS Certified ▸ Student at University of Latvia
  • 3. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES WHY MICROSERVICES? ▸ Single responsibility services based on business logic ▸ Different technology for each service
 (PHP, Golang, Node.js, AWS Lambda) ▸ Allows to scale individual service
  • 4. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES HOW DO THE SERVICES COMMUNICATE WITH EACH OTHER?
  • 5. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ▸ Customer places an order ORDER SERVICE THE EXAMPLE
  • 6. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ▸ Customer places an order ▸ Then we need to generate a PDF invoice document ORDER SERVICE PDF
 SERVICE THE EXAMPLE
  • 7. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ▸ Customer places an order ▸ Then we need to generate a PDF invoice document ▸ PDF needs to be stored ORDER SERVICE PDF
 SERVICE THE EXAMPLE
  • 8. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ▸ Customer places an order ▸ Then we need to generate a PDF invoice document ▸ PDF needs to be stored ▸ Order needs to be updated with a link to PDF document ORDER SERVICE PDF
 SERVICE THE EXAMPLE
  • 9. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES INITIAL APPROACH ▸ Order service makes HTTP call to PDF service ▸ PDF is generated and stored asynchronously ▸ PDF service makes an HTTP call to update Order ORDER SERVICE PDF
 SERVICE POST POST PATCH POST
  • 10. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES THE PROBLEM ▸ Services have to be aware of each other ▸ PDF Service must know how to update an Order ORDER SERVICE PDF
 SERVICE POST POST POST PATCH
  • 11. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES THE PROBLEM ▸ Services have to be aware of each other ▸ PDF Service must know how to update an Order ▸ What if we throw in more services? ORDER SERVICE PDF
 SERVICE POST POST POST PATCH EMAIL SERVICE Send PDF to customer CUSTOMER SERVICE GET
  • 12. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES THIS DOES NOT SCALE VERY WELL!
  • 13. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ▸ Turn things the other way around ▸ But how will PDF service know when order was placed? ORDER SERVICE PDF
 SERVICE POST POST ? THE SECOND APPROACH
  • 14. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES HERE COME EVENTS!
  • 15. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ▸ All services send notifications to a central BUS ▸ There is one notification queue per service ▸ Each services queue is subscribed to BUS ▸ Each service runs a background worker that listens to respective event queue THE SECOND APPROACH
  • 16. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER THE SECOND APPROACH
  • 17. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS Order created EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER THE SECOND APPROACH
  • 18. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS Order created Order created EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER THE SECOND APPROACH
  • 19. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS Order created Order created EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER Order created THE SECOND APPROACH
  • 20. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS Order created Order created EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER Ignore Store Ignore Ignore Order created THE SECOND APPROACH
  • 21. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS Order created Order created EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER Ignore Store Ignore Ignore Order created PDF Generated THE SECOND APPROACH
  • 22. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS PDF Generated EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER THE SECOND APPROACH
  • 23. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS PDF Generated PDF Generated EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER THE SECOND APPROACH
  • 24. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER PDF Generated PDF Generated Ignore IgnoreUpdate reference Email PDF THE SECOND APPROACH
  • 25. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES THE SECOND APPROACH ORDER SERVICE API POST EMAIL SERVICE QUEUE CUSTOMER SERVICE API ORDER SERVICE QUEUE CUSTOMER SERVICE QUEUE PDF SERVICE QUEUE CENTRAL MESSAGE BUS EMAIL SERVICE WORKER ORDER SERVICE WORKER CUSTOMER SERVICE WORKER PDF SERVICE WORKER PDF Generated PDF Generated Ignore IgnoreUpdate reference Email PDF Order updated Email sent
  • 26. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES THE BENEFITS ▸ If error raises on service, the message remains in queue ▸ It will be picked up later ▸ Services don't need to know about how to make updates to other services ▸ Adding more services is easy ▸ Scales well
  • 27. EVENT DRIVEN ARCHITECTURE FOR MICROSERVICES THANKS! martinssipenko
 martins.sipenko@gmail.com
 https://joind.in/talk/f1078