SlideShare a Scribd company logo
1 of 22
Speaker: Opher EtzionOn Microservices and Event Driven
Architectures
The 5th Israeli Conference on Software Architectures
Opher Etzion
2
Microservices
Event Driven Architecture
Event driven architecture: asynchronous, decoupled; each
component is autonomic.
4
Complementary
Architectures
Microservices stand for component
architecture; Event driven deals
with the interaction among
components
5
Simple case – the
smart road
The road fare for each segment is
determined by the volume of
traffic in that segment in the
previous time window
Cameras in each segments
identifies the cars for: counting,
direct billing, tracking stolen cars
6
Simple case – The
smart road
Identify vehicle
Calculate segment
rate
Bill driver
Detect payment
avoider
Detect stolen car
Event broker
No mutual consistency
required
7
Simple case – The
smart road
Identify vehicle
Calculate segment
rate
Bill driver
Detect payment
avoider
Detect stolen car
Event broker
Identify Vehicle emits events with
segment and vehicle id. Calculate
Segment rate, Bill driver, detect
payment avoider and Detect stolen
car subscribe to it
8
Simple case – The
smart road
Identify vehicle
Calculate segment
rate
Bill driver
Detect payment
avoider
Detect stolen car
Event broker
Calculate segment rate emits at
the end of every time window event
with new rates. Bill driver
subscribes to it.
9
Simple case – The
smart road
Identify vehicle
Calculate segment
rate
Bill driver
Detect payment
avoider
Detect stolen car
Event broker
Detect stolen car and detect
payment avoider emit events that
the highway security subscribe to,
in order to stop vehicle.
10
Constrained case –
Salary Increase
Salary determination process
results in salary increase.
There are two integrity
constraints:
1. Department total salaries and
other expenses cannot exceed
the budget
2.A manager salary must not be
more than the equivalent to 25
salaries of the lowest paid
subordinate (direct or indirect)
11
Simple connection –
the smart road
Increase Salary
Handle Budget
Check manager
constraint
Event broker
Mutual consistency
requirements exist
12
Consistency in the
monolithic case
One transaction – either all commit
or all abort. Using ACP (Atomic
Commitment Protocol) such as: 2PC,
3PC
In the microservices case – breaks
the independence if applied
13
Consistency 101
Consistency modes:
Fully consistent – all time
consistency
Quasi consistent – eventual
consistency
Loosely consistent – may give up
consistency
14
Consistency 101
Stabilizers:
Restrict : Always abort inconsistencies
Nullify: Nullify problematic attributes
Repair Transaction: Typically minimal
repair that satisfies all constraints
Cascade: Repair existing data to satisfy
constraints
Forgive: Making it loosely consistent
15
Back to the salary
increase story
Increase Salary
Handle Budget
Check manager
constraint
Event broker
Always use eventual consistency.
Consistency may be violated temporarily
16
Back to the salary
increase story
Increase Salary
Handle Budget
Check manager
constraint
Event broker
The – commit or abort decision (or quasi
commit if supported) is emitted as event
and may trigger compensating
transaction in other microservice
17
Back to the salary
increase story
Increase Salary
Handle Budget
Check manager
constraint
Event broker
Example: Budget violation occurred.
If RESTRICT applies - budget update
aborts; event emitted to broker,
published to Increase Salary and
triggers compensating transaction to
undo the salary increase
18
Back to the salary
increase story
Increase Salary
Handle Budget
Check manager
constraint
Event broker
Example: Budget violation occurred.
If REPAIR TRANSACTION applies -
Budget update emits an event with
maximum salary increase allowed,
Increase Salary subscribes to it and
issues a compensating transaction to
modify the increase
19
Back to the salary
increase story
Increase Salary
Handle Budget
Check manager
constraint
Event broker
Example: Budget violation occurred.
If Cascade applies -
Handle budget increases the budget in
the minimal amount that satisfies the
constraint
20
Back to the salary
increase story
Increase Salary
Handle Budget
Check manager
constraint
Event broker
Example: Budget violation occurred.
If Forgive applies -
The consistency violation is ignored.
21
Summary
Microservices and EDA co-exist
and complement each other
EDA serves as a vehicle to
communicate among microservices
without harming their isolation
EDA is Vital to cope with global
consistency requirements in a way that
each microservice is isolated, with no
global coordination mechanism or global
protocol.
22
My long term work is aimed to take advantage of the
power of events to make a better world

More Related Content

Similar to Sw architectures 2018 on microservices and eda

Motor insurance telematics - Five value creation levers
Motor insurance telematics - Five value creation leversMotor insurance telematics - Five value creation levers
Motor insurance telematics - Five value creation leversMatteo Carbone
 
eBook__1681292998.pdf
eBook__1681292998.pdfeBook__1681292998.pdf
eBook__1681292998.pdfAneeshKalra1
 
ControlExpert - NOAH19 Berlin
ControlExpert - NOAH19 BerlinControlExpert - NOAH19 Berlin
ControlExpert - NOAH19 BerlinNOAH Advisors
 
October 2008 - Automotive Accountants' Forum
October 2008 - Automotive Accountants' ForumOctober 2008 - Automotive Accountants' Forum
October 2008 - Automotive Accountants' ForumColledges
 
equpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptxequpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptxEqunix Business Solutions
 
Revenue-Recognition-Final-PPT.pdf
Revenue-Recognition-Final-PPT.pdfRevenue-Recognition-Final-PPT.pdf
Revenue-Recognition-Final-PPT.pdfWaqasAthar5
 
Challenges of Fuel Distribution
Challenges of Fuel DistributionChallenges of Fuel Distribution
Challenges of Fuel DistributionPaul Foley
 
Claimstech Go fleet insurance prez v1.0
Claimstech Go fleet insurance prez v1.0Claimstech Go fleet insurance prez v1.0
Claimstech Go fleet insurance prez v1.0Raj Mody, B.A.CIP
 
Claimstech go fleet insurance prez v1.0
Claimstech go fleet insurance prez v1.0Claimstech go fleet insurance prez v1.0
Claimstech go fleet insurance prez v1.0Raj Mody, B.A.CIP
 
Parking Management In 2009
Parking Management In 2009Parking Management In 2009
Parking Management In 2009matthiasg
 
Pricing and commissions Webinar English
Pricing and commissions Webinar EnglishPricing and commissions Webinar English
Pricing and commissions Webinar EnglishCamilo Tellez
 
Tax risk management_13th_oct_2015
Tax risk management_13th_oct_2015Tax risk management_13th_oct_2015
Tax risk management_13th_oct_2015Fernandes Anthony
 
Materi Akuntansi Manajemen desentralisasi
Materi Akuntansi Manajemen desentralisasiMateri Akuntansi Manajemen desentralisasi
Materi Akuntansi Manajemen desentralisasiZudan2
 
Publication of research paper on revenue audit of car rental facility desk fo...
Publication of research paper on revenue audit of car rental facility desk fo...Publication of research paper on revenue audit of car rental facility desk fo...
Publication of research paper on revenue audit of car rental facility desk fo...consultancy services provider
 

Similar to Sw architectures 2018 on microservices and eda (20)

Motor insurance telematics - Five value creation levers
Motor insurance telematics - Five value creation leversMotor insurance telematics - Five value creation levers
Motor insurance telematics - Five value creation levers
 
Gps tracking
Gps trackingGps tracking
Gps tracking
 
eBook__1681292998.pdf
eBook__1681292998.pdfeBook__1681292998.pdf
eBook__1681292998.pdf
 
ControlExpert - NOAH19 Berlin
ControlExpert - NOAH19 BerlinControlExpert - NOAH19 Berlin
ControlExpert - NOAH19 Berlin
 
October 2008 - Automotive Accountants' Forum
October 2008 - Automotive Accountants' ForumOctober 2008 - Automotive Accountants' Forum
October 2008 - Automotive Accountants' Forum
 
Smart Parking
Smart ParkingSmart Parking
Smart Parking
 
Smart Parking
Smart ParkingSmart Parking
Smart Parking
 
equpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptxequpos - General Presentation v20230420.pptx
equpos - General Presentation v20230420.pptx
 
Revenue-Recognition-Final-PPT.pdf
Revenue-Recognition-Final-PPT.pdfRevenue-Recognition-Final-PPT.pdf
Revenue-Recognition-Final-PPT.pdf
 
Challenges of Fuel Distribution
Challenges of Fuel DistributionChallenges of Fuel Distribution
Challenges of Fuel Distribution
 
Claimstech Go fleet insurance prez v1.0
Claimstech Go fleet insurance prez v1.0Claimstech Go fleet insurance prez v1.0
Claimstech Go fleet insurance prez v1.0
 
Claimstech go fleet insurance prez v1.0
Claimstech go fleet insurance prez v1.0Claimstech go fleet insurance prez v1.0
Claimstech go fleet insurance prez v1.0
 
Parking Management In 2009
Parking Management In 2009Parking Management In 2009
Parking Management In 2009
 
Pricing and commissions Webinar English
Pricing and commissions Webinar EnglishPricing and commissions Webinar English
Pricing and commissions Webinar English
 
New Topics in Revenue Management
New Topics in Revenue ManagementNew Topics in Revenue Management
New Topics in Revenue Management
 
Smartplex1
Smartplex1Smartplex1
Smartplex1
 
Tax risk management_13th_oct_2015
Tax risk management_13th_oct_2015Tax risk management_13th_oct_2015
Tax risk management_13th_oct_2015
 
Smart parking - Happiestminds !
Smart parking - Happiestminds !Smart parking - Happiestminds !
Smart parking - Happiestminds !
 
Materi Akuntansi Manajemen desentralisasi
Materi Akuntansi Manajemen desentralisasiMateri Akuntansi Manajemen desentralisasi
Materi Akuntansi Manajemen desentralisasi
 
Publication of research paper on revenue audit of car rental facility desk fo...
Publication of research paper on revenue audit of car rental facility desk fo...Publication of research paper on revenue audit of car rental facility desk fo...
Publication of research paper on revenue audit of car rental facility desk fo...
 

More from Opher Etzion

DEBS 2019 tutorial : correctness and consistency of event-based systems
DEBS 2019 tutorial  : correctness and consistency of event-based systems DEBS 2019 tutorial  : correctness and consistency of event-based systems
DEBS 2019 tutorial : correctness and consistency of event-based systems Opher Etzion
 
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasOpher Etzion
 
Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Opher Etzion
 
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial   When Artificial Intelligence meets the Internet of ThingsDEBS 2015 tutorial   When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of ThingsOpher Etzion
 
Has Internet of Things really happened?
Has Internet of Things really happened? Has Internet of Things really happened?
Has Internet of Things really happened? Opher Etzion
 
On the personalization of event-based systems
On the personalization of event-based systems On the personalization of event-based systems
On the personalization of event-based systems Opher Etzion
 
On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014Opher Etzion
 
Introduction to the institute of technological empowerment
Introduction to the institute of technological empowermentIntroduction to the institute of technological empowerment
Introduction to the institute of technological empowermentOpher Etzion
 
DEBS 2014 tutorial on the Internet of Everything.
DEBS 2014 tutorial  on the Internet of Everything. DEBS 2014 tutorial  on the Internet of Everything.
DEBS 2014 tutorial on the Internet of Everything. Opher Etzion
 
The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...Opher Etzion
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world Opher Etzion
 
Event semantics and model - multimedia events workshop
Event semantics and model -  multimedia events workshopEvent semantics and model -  multimedia events workshop
Event semantics and model - multimedia events workshopOpher Etzion
 
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Opher Etzion
 
Debs 2012 gong show immortality
Debs 2012 gong show immortalityDebs 2012 gong show immortality
Debs 2012 gong show immortalityOpher Etzion
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactiveOpher Etzion
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialOpher Etzion
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talkOpher Etzion
 
Aaai 2011 event processing tutorial
Aaai 2011 event processing tutorialAaai 2011 event processing tutorial
Aaai 2011 event processing tutorialOpher Etzion
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimizationOpher Etzion
 

More from Opher Etzion (20)

DEBS 2019 tutorial : correctness and consistency of event-based systems
DEBS 2019 tutorial  : correctness and consistency of event-based systems DEBS 2019 tutorial  : correctness and consistency of event-based systems
DEBS 2019 tutorial : correctness and consistency of event-based systems
 
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmasER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
ER 2017 tutorial - On Paradoxes, Autonomous Systems and dilemmas
 
Event processing within the human body - Tutorial
Event processing within the human body - Tutorial Event processing within the human body - Tutorial
Event processing within the human body - Tutorial
 
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial   When Artificial Intelligence meets the Internet of ThingsDEBS 2015 tutorial   When Artificial Intelligence meets the Internet of Things
DEBS 2015 tutorial When Artificial Intelligence meets the Internet of Things
 
Dynamic stories
Dynamic storiesDynamic stories
Dynamic stories
 
Has Internet of Things really happened?
Has Internet of Things really happened? Has Internet of Things really happened?
Has Internet of Things really happened?
 
On the personalization of event-based systems
On the personalization of event-based systems On the personalization of event-based systems
On the personalization of event-based systems
 
On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014On Internet of Everything and Personalization. Talk in INTEROP 2014
On Internet of Everything and Personalization. Talk in INTEROP 2014
 
Introduction to the institute of technological empowerment
Introduction to the institute of technological empowermentIntroduction to the institute of technological empowerment
Introduction to the institute of technological empowerment
 
DEBS 2014 tutorial on the Internet of Everything.
DEBS 2014 tutorial  on the Internet of Everything. DEBS 2014 tutorial  on the Internet of Everything.
DEBS 2014 tutorial on the Internet of Everything.
 
The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...The Internet of Things and some introduction to the Technological Empowerment...
The Internet of Things and some introduction to the Technological Empowerment...
 
ER 2013 tutorial: modeling the event driven world
ER 2013 tutorial:  modeling the event driven world ER 2013 tutorial:  modeling the event driven world
ER 2013 tutorial: modeling the event driven world
 
Event semantics and model - multimedia events workshop
Event semantics and model -  multimedia events workshopEvent semantics and model -  multimedia events workshop
Event semantics and model - multimedia events workshop
 
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
Debs 2013 tutorial : Why is event-driven thinking different from traditional ...
 
Debs 2012 gong show immortality
Debs 2012 gong show immortalityDebs 2012 gong show immortality
Debs 2012 gong show immortality
 
Debs 2012 basic proactive
Debs 2012 basic proactiveDebs 2012 basic proactive
Debs 2012 basic proactive
 
Debs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorialDebs 2012 uncertainty tutorial
Debs 2012 uncertainty tutorial
 
Proactive eth talk
Proactive eth talkProactive eth talk
Proactive eth talk
 
Aaai 2011 event processing tutorial
Aaai 2011 event processing tutorialAaai 2011 event processing tutorial
Aaai 2011 event processing tutorial
 
Debs 2011 pattern rewritingforeventprocessingoptimization
Debs 2011  pattern rewritingforeventprocessingoptimizationDebs 2011  pattern rewritingforeventprocessingoptimization
Debs 2011 pattern rewritingforeventprocessingoptimization
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 

Sw architectures 2018 on microservices and eda

  • 1. Speaker: Opher EtzionOn Microservices and Event Driven Architectures The 5th Israeli Conference on Software Architectures Opher Etzion
  • 3. Event Driven Architecture Event driven architecture: asynchronous, decoupled; each component is autonomic.
  • 4. 4 Complementary Architectures Microservices stand for component architecture; Event driven deals with the interaction among components
  • 5. 5 Simple case – the smart road The road fare for each segment is determined by the volume of traffic in that segment in the previous time window Cameras in each segments identifies the cars for: counting, direct billing, tracking stolen cars
  • 6. 6 Simple case – The smart road Identify vehicle Calculate segment rate Bill driver Detect payment avoider Detect stolen car Event broker No mutual consistency required
  • 7. 7 Simple case – The smart road Identify vehicle Calculate segment rate Bill driver Detect payment avoider Detect stolen car Event broker Identify Vehicle emits events with segment and vehicle id. Calculate Segment rate, Bill driver, detect payment avoider and Detect stolen car subscribe to it
  • 8. 8 Simple case – The smart road Identify vehicle Calculate segment rate Bill driver Detect payment avoider Detect stolen car Event broker Calculate segment rate emits at the end of every time window event with new rates. Bill driver subscribes to it.
  • 9. 9 Simple case – The smart road Identify vehicle Calculate segment rate Bill driver Detect payment avoider Detect stolen car Event broker Detect stolen car and detect payment avoider emit events that the highway security subscribe to, in order to stop vehicle.
  • 10. 10 Constrained case – Salary Increase Salary determination process results in salary increase. There are two integrity constraints: 1. Department total salaries and other expenses cannot exceed the budget 2.A manager salary must not be more than the equivalent to 25 salaries of the lowest paid subordinate (direct or indirect)
  • 11. 11 Simple connection – the smart road Increase Salary Handle Budget Check manager constraint Event broker Mutual consistency requirements exist
  • 12. 12 Consistency in the monolithic case One transaction – either all commit or all abort. Using ACP (Atomic Commitment Protocol) such as: 2PC, 3PC In the microservices case – breaks the independence if applied
  • 13. 13 Consistency 101 Consistency modes: Fully consistent – all time consistency Quasi consistent – eventual consistency Loosely consistent – may give up consistency
  • 14. 14 Consistency 101 Stabilizers: Restrict : Always abort inconsistencies Nullify: Nullify problematic attributes Repair Transaction: Typically minimal repair that satisfies all constraints Cascade: Repair existing data to satisfy constraints Forgive: Making it loosely consistent
  • 15. 15 Back to the salary increase story Increase Salary Handle Budget Check manager constraint Event broker Always use eventual consistency. Consistency may be violated temporarily
  • 16. 16 Back to the salary increase story Increase Salary Handle Budget Check manager constraint Event broker The – commit or abort decision (or quasi commit if supported) is emitted as event and may trigger compensating transaction in other microservice
  • 17. 17 Back to the salary increase story Increase Salary Handle Budget Check manager constraint Event broker Example: Budget violation occurred. If RESTRICT applies - budget update aborts; event emitted to broker, published to Increase Salary and triggers compensating transaction to undo the salary increase
  • 18. 18 Back to the salary increase story Increase Salary Handle Budget Check manager constraint Event broker Example: Budget violation occurred. If REPAIR TRANSACTION applies - Budget update emits an event with maximum salary increase allowed, Increase Salary subscribes to it and issues a compensating transaction to modify the increase
  • 19. 19 Back to the salary increase story Increase Salary Handle Budget Check manager constraint Event broker Example: Budget violation occurred. If Cascade applies - Handle budget increases the budget in the minimal amount that satisfies the constraint
  • 20. 20 Back to the salary increase story Increase Salary Handle Budget Check manager constraint Event broker Example: Budget violation occurred. If Forgive applies - The consistency violation is ignored.
  • 21. 21 Summary Microservices and EDA co-exist and complement each other EDA serves as a vehicle to communicate among microservices without harming their isolation EDA is Vital to cope with global consistency requirements in a way that each microservice is isolated, with no global coordination mechanism or global protocol.
  • 22. 22 My long term work is aimed to take advantage of the power of events to make a better world