SlideShare a Scribd company logo
Event-driven Microservices
Microservices Enablement
16-08-2020
Ahmed El Mawaziny
Microservices
Enablement
About Me
Working at Sumerge for more than 3 years
Senior Software Architect
@amawaziny @amawaziny
Ahmed El Mawaziny
Microservices
Enablement
Agenda
1.Recap on Intro Microservices Webinar
2.Microservices Challenges
3.Solutions with Event driven architecture
Microservices
Enablement
Recap on Intro Microservices Webinar
Microservices
Enablement
Microservices
Enablement
Microservices
Enablement
Microservices Challenges
Microservices
Enablement
CoffeeShop Application
Order Service
Order
Database
Customer Service
Customer
Database
Microservices
Enablement
As a Coffee shop Manager, I want to
add new drinks to application stock
Microservices
Enablement
CoffeeShop Application
Order Service
Order
Database
Customer Service
Customer
Database
Stock Service
Stock
Database
Microservices
Enablement
As a Coffee shop Marketing Specialist, I want
to send offers to customers via SMS
Microservices
Enablement
CoffeeShop Application
Order Service
Order
Database
Customer Service
Customer
Database
Stock Service
Stock
Database
Notification Service
Notification
Database
Microservices
Enablement
Microservices Challenges
● Adding new Microservice
Microservices
Enablement
How to manage transactions across
Microservices?
BEGIN TRAN T1;
UPDATE ORDERS...;
UPDATE STOCK...;
SELECT * FROM CUSTOMERS;
UPDATE ACCOUNTS...;
COMMIT TRAN T1;
New Order
Order
Database
Stock
Database
Customer
Database
Microservices
Enablement
Microservices Challenges
● Adding new Microservice
● Transaction across Microservices
Microservices
Enablement
How to build consolidated report in Microservices
architecture?
SELECT
o.total as TotalOrder,
c.NAME as CustomerName,
s.ITEM_NAME as ItemName
FROM ORDERS o
JOIN STOCK s
ON s.ITEM_ID = o.ITEM_ID
JOIN CUSTOMERS c
ON c.id = o.CUSTOMER_ID
WHERE ....
Report
Order
Database
Stock
Database
Customer
Database
Microservices
Enablement
Microservices Challenges
● Adding new Microservice
● Transaction across Microservices
● Reports
Microservices
Enablement
Solutions with Event-driven Architecture
Microservices
Enablement
What is Event-driven Architecture?
“Event-driven architecture is a software architecture and model for application
design.
With an event-driven system, the capture, communication, processing, and
persistence of events are the core structure of the solution. This differs from a
traditional request-driven model.”
Microservices
Enablement
What is Events?
• Publisher and Consumer subscription
• Events are changes in the application state
• Events in the past
• Events cannot be changed
• Events either async or sync
Microservices
Enablement
Adding new Microservice
Microservices
Enablement
What is Event-Sourcing?
“Event Sourcing ensures that all changes to application state are stored as a sequence
of events. Not just can we query these events, we can also use the event log to
reconstruct past states.” Martin Fowler
Microservices
Enablement
CoffeeShop Application with ES
Order ServiceOrder
Database
Event Store
Customer Service Customer
Database
Stock ServiceStock
Database Notification Service Notification
Database
Microservices
Enablement
Why to use Event-Sourcing?
Temporal
Query
Complete
Rebuild
Data
analytics
Audit
Event
Replay
Microservices
Enablement
Transaction across Microservices
Microservices
Enablement
What is Saga?
A saga is a sequence of local transactions.
Each local transaction updates the database and publishes a message or event to
trigger the next local transaction in the saga.
If a local transaction fails because it violates a business rule, then the saga executes a
series of compensating transactions that undo the changes that were made by the
preceding local transactions
Microservices
Enablement
CoffeeShop Application with Saga
Order ServiceOrder
Database
Event Store
Customer Service Customer
Database
Stock ServiceStock
Database
ID CUST_ID TOTAL PENDING
100 1000 200 1
ID CUST_ID ORD_ID RESERVED
100 1000 100 1
AMOUNT
200
ID ITEM_ID ORD_ID ON_HOLD
100 10 100 1
Microservices
Enablement
CoffeeShop Application with Saga
Order ServiceOrder
Database
Event Store
Customer Service Customer
Database
Stock ServiceStock
Database
ID CUST_ID TOTAL PENDING
100 1000 200 0
ID CUST_ID ORD_ID RESERVED
100 1000 100 0
AMOUNT
200
ID ITEM_ID ORD_ID ON_HOLD
100 10 100 0
Microservices
Enablement
Reports
Microservices
Enablement
What is CQRS?
CQRS stands for Command Query Responsibility Segregation.
CQRS separates reads and writes into different models, using commands to update
data, and queries to read data.
Microservices
Enablement
CoffeeShop Application with CQRS
Order ServiceOrder
Database
Event Store
Customer Service Customer
Database
Stock ServiceStock
Database
Reporting Service
ElasticSearch/
NoSQL
Database
Notification Service Notification
Database
Microservices
Enablement
Summary
● Microservices Benefits
● Microservices Challenges
● Event-Sourcing Pattern
● Saga Pattern
● CQRS
Microservices
Enablement
Resources
● https://martinfowler.com/eaaDev/EventSourcing.html
● https://microservices.io/patterns/data/saga.html
● https://microservices.io/patterns/data/cqrs.html
Microservices
Enablement
Q&A
Microservices
Enablement
Thank You

More Related Content

Similar to Event driven Microservices Webinar

Confluent_Banking_Usecases_Examples.pptx
Confluent_Banking_Usecases_Examples.pptxConfluent_Banking_Usecases_Examples.pptx
Confluent_Banking_Usecases_Examples.pptx
Jon Snow
 
Moving To MicroServices
Moving To MicroServicesMoving To MicroServices
Moving To MicroServices
David Walker
 
API-first Integration for Microservices
API-first Integration for MicroservicesAPI-first Integration for Microservices
API-first Integration for Microservices
WSO2
 
Microservices with Kafka Ecosystem
Microservices with Kafka EcosystemMicroservices with Kafka Ecosystem
Microservices with Kafka Ecosystem
Guido Schmutz
 
Transforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming DataTransforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming Data
confluent
 
Event driven architecure
Event driven architecureEvent driven architecure
Event driven architecure
Touraj Ebrahimi
 
WSO2Con EU 2015: Reference Architecture for EDA
WSO2Con EU 2015: Reference Architecture for EDAWSO2Con EU 2015: Reference Architecture for EDA
WSO2Con EU 2015: Reference Architecture for EDA
WSO2
 
Future Trends in FSI
Future Trends in FSIFuture Trends in FSI
Future Trends in FSI
Amazon Web Services
 
Data reply sneak peek: real time decision engines
Data reply sneak peek:  real time decision enginesData reply sneak peek:  real time decision engines
Data reply sneak peek: real time decision engines
confluent
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache Kafka
Guido Schmutz
 
Building Serverless EDA w_ AWS Lambda (1).pptx
Building Serverless EDA w_ AWS Lambda (1).pptxBuilding Serverless EDA w_ AWS Lambda (1).pptx
Building Serverless EDA w_ AWS Lambda (1).pptx
Ahmed791434
 
Ebusinesspa
EbusinesspaEbusinesspa
Ebusinesspa
vincent david
 
INTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdf
INTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdfINTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdf
INTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdf
Compassway1
 
Whitepaper : Event Driven Micro Services
Whitepaper : Event Driven Micro ServicesWhitepaper : Event Driven Micro Services
Whitepaper : Event Driven Micro Services
Newt Global Consulting LLC
 
ANZ C-Level Roundtable
ANZ C-Level RoundtableANZ C-Level Roundtable
ANZ C-Level Roundtable
confluent
 
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
confluent
 
Expert IT Consultants | Inventia Technology
Expert IT Consultants | Inventia TechnologyExpert IT Consultants | Inventia Technology
Expert IT Consultants | Inventia Technology
InventiaTechnology1
 
Microservices best practices: Integration platforms, APIs, and more
 Microservices best practices: Integration platforms, APIs, and more Microservices best practices: Integration platforms, APIs, and more
Microservices best practices: Integration platforms, APIs, and more
Abhishek Sood
 
APAC Exec Roundtable
APAC Exec Roundtable APAC Exec Roundtable
APAC Exec Roundtable
confluent
 
Translating the Promise of IoT into Business Value and Customer Success - IOT...
Translating the Promise of IoT into Business Value and Customer Success - IOT...Translating the Promise of IoT into Business Value and Customer Success - IOT...
Translating the Promise of IoT into Business Value and Customer Success - IOT...
Amazon Web Services
 

Similar to Event driven Microservices Webinar (20)

Confluent_Banking_Usecases_Examples.pptx
Confluent_Banking_Usecases_Examples.pptxConfluent_Banking_Usecases_Examples.pptx
Confluent_Banking_Usecases_Examples.pptx
 
Moving To MicroServices
Moving To MicroServicesMoving To MicroServices
Moving To MicroServices
 
API-first Integration for Microservices
API-first Integration for MicroservicesAPI-first Integration for Microservices
API-first Integration for Microservices
 
Microservices with Kafka Ecosystem
Microservices with Kafka EcosystemMicroservices with Kafka Ecosystem
Microservices with Kafka Ecosystem
 
Transforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming DataTransforming Financial Services with Event Streaming Data
Transforming Financial Services with Event Streaming Data
 
Event driven architecure
Event driven architecureEvent driven architecure
Event driven architecure
 
WSO2Con EU 2015: Reference Architecture for EDA
WSO2Con EU 2015: Reference Architecture for EDAWSO2Con EU 2015: Reference Architecture for EDA
WSO2Con EU 2015: Reference Architecture for EDA
 
Future Trends in FSI
Future Trends in FSIFuture Trends in FSI
Future Trends in FSI
 
Data reply sneak peek: real time decision engines
Data reply sneak peek:  real time decision enginesData reply sneak peek:  real time decision engines
Data reply sneak peek: real time decision engines
 
Building Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache KafkaBuilding Event-Driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro)Services with Apache Kafka
 
Building Serverless EDA w_ AWS Lambda (1).pptx
Building Serverless EDA w_ AWS Lambda (1).pptxBuilding Serverless EDA w_ AWS Lambda (1).pptx
Building Serverless EDA w_ AWS Lambda (1).pptx
 
Ebusinesspa
EbusinesspaEbusinesspa
Ebusinesspa
 
INTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdf
INTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdfINTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdf
INTEGRATED DIGITAL LENDING PLATFORM IS THE KEY TO MARKET COMPETITION.pdf
 
Whitepaper : Event Driven Micro Services
Whitepaper : Event Driven Micro ServicesWhitepaper : Event Driven Micro Services
Whitepaper : Event Driven Micro Services
 
ANZ C-Level Roundtable
ANZ C-Level RoundtableANZ C-Level Roundtable
ANZ C-Level Roundtable
 
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
Data Management & Warehousing (David Walker, ex-World Pay) 2019 Confluent Str...
 
Expert IT Consultants | Inventia Technology
Expert IT Consultants | Inventia TechnologyExpert IT Consultants | Inventia Technology
Expert IT Consultants | Inventia Technology
 
Microservices best practices: Integration platforms, APIs, and more
 Microservices best practices: Integration platforms, APIs, and more Microservices best practices: Integration platforms, APIs, and more
Microservices best practices: Integration platforms, APIs, and more
 
APAC Exec Roundtable
APAC Exec Roundtable APAC Exec Roundtable
APAC Exec Roundtable
 
Translating the Promise of IoT into Business Value and Customer Success - IOT...
Translating the Promise of IoT into Business Value and Customer Success - IOT...Translating the Promise of IoT into Business Value and Customer Success - IOT...
Translating the Promise of IoT into Business Value and Customer Success - IOT...
 

Recently uploaded

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
e-Definers Technology
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
Task Tracker
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Sparity1
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
Hironori Washizaki
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
SSTech System
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
taskroupseo
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
DNUG e.V.
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 

Recently uploaded (20)

NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
Top 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your WebsiteTop 10 Tips To Get Google AdSense For Your Website
Top 10 Tips To Get Google AdSense For Your Website
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
Attendance Tracking From Paper To Digital
Attendance Tracking From Paper To DigitalAttendance Tracking From Paper To Digital
Attendance Tracking From Paper To Digital
 
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptxAddressing the Top 9 User Pain Points with Visual Design Elements.pptx
Addressing the Top 9 User Pain Points with Visual Design Elements.pptx
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
React Native vs Flutter - SSTech System
React Native vs Flutter  - SSTech SystemReact Native vs Flutter  - SSTech System
React Native vs Flutter - SSTech System
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
Abortion pills in Fujairah *((+971588192166*)��️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
 
dachnug51 - Whats new in domino 14 .pdf
dachnug51 - Whats new in domino 14  .pdfdachnug51 - Whats new in domino 14  .pdf
dachnug51 - Whats new in domino 14 .pdf
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 

Event driven Microservices Webinar

Editor's Notes

  1. Focus on Microservices Patterns
  2. Re-play all events to get application state
  3. Login and then faild is two events  Order and CreditReserved then fails is OrderCread then CreditReserved then OrderFaild then CreditBack then OrderMarkedAsFaild Order from AWS is not guarantee that this item is available after submit  Swing actionPerformed,mouseClicked, KeyPressed
  4. Re-play all events to get application state
  5. Complete Rebuild: We can discard the application state completely and rebuild it by re-running the events from the event log on an empty application. Temporal Query: with a blank state and rerunning the events up to a particular time or event. We can take this further by considering multiple time-lines Event Replay: If we find a past event was incorrect, we can compute the consequences by reversing, Production Issues replay on test server start new service and collect events then get application state
  6. One operation to be atomic transaction
  7. One operation to be atomic transaction
  8. Commands are void methods not returning anything Query is the read side