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

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

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