SlideShare a Scribd company logo
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

PDF
4 Step Solution (3)
PDF
Commercial property tax appeal services
PDF
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
PDF
ITL insurtech 5 value levers for auto telematics
PDF
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
PDF
How Fleet Management Systems Can Help Improve Your Business
PDF
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
PDF
#Paymentasiareviews - Risk Management Model Ecommerce Industry
4 Step Solution (3)
Commercial property tax appeal services
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
ITL insurtech 5 value levers for auto telematics
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
How Fleet Management Systems Can Help Improve Your Business
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
#Paymentasiareviews - Risk Management Model Ecommerce Industry

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

PDF
Autonomous Fleet Management System
PDF
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
PPT
Gps tracking
PPT
SQS ASM Manager and EMAS Accounting- GST ver 8 PROTON
PDF
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
PDF
Motor insurance telematics - Five value creation levers
PDF
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
PPT
Gps tracking
PDF
eBook__1681292998.pdf
PDF
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
PDF
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
PDF
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
PDF
ControlExpert - NOAH19 Berlin
PDF
Auditing and Assurance Services A Systematic Approach 11th Edition Messier So...
PDF
Intermediate Accounting Canadian Canadian 6th Edition Beechy Solutions Manual
PPT
October 2008 - Automotive Accountants' Forum
PPTX
0221_CAP_BOLISATY_Customer_Presentation_V7.0.pptx
PDF
Intermediate Accounting Canadian Canadian 6th Edition Beechy Solutions Manual
PDF
Auditing and Assurance Services A Systematic Approach 11th Edition Messier So...
PDF
Smart Parking
Autonomous Fleet Management System
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
Gps tracking
SQS ASM Manager and EMAS Accounting- GST ver 8 PROTON
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
Motor insurance telematics - Five value creation levers
Intermediate Accounting Volume 1 5th Edition Beechy Solutions Manual
Gps tracking
eBook__1681292998.pdf
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
Intermediate Accounting Volume 1 6th Edition Beechy Solutions Manual
ControlExpert - NOAH19 Berlin
Auditing and Assurance Services A Systematic Approach 11th Edition Messier So...
Intermediate Accounting Canadian Canadian 6th Edition Beechy Solutions Manual
October 2008 - Automotive Accountants' Forum
0221_CAP_BOLISATY_Customer_Presentation_V7.0.pptx
Intermediate Accounting Canadian Canadian 6th Edition Beechy Solutions Manual
Auditing and Assurance Services A Systematic Approach 11th Edition Messier So...
Smart Parking
Ad

More from Opher Etzion (20)

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

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
System and Network Administration Chapter 2
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Nekopoi APK 2025 free lastest update
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
ai tools demonstartion for schools and inter college
PDF
medical staffing services at VALiNTRY
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
System and Network Administration Chapter 2
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Internet Downloader Manager (IDM) Crack 6.42 Build 41
VVF-Customer-Presentation2025-Ver1.9.pptx
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Transform Your Business with a Software ERP System
Reimagine Home Health with the Power of Agentic AI​
Nekopoi APK 2025 free lastest update
wealthsignaloriginal-com-DS-text-... (1).pdf
ai tools demonstartion for schools and inter college
medical staffing services at VALiNTRY
How Creative Agencies Leverage Project Management Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Understanding Forklifts - TECH EHS Solution
Design an Analysis of Algorithms I-SECS-1021-03
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

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