From C to Q, One Event at a Time: Event Sourcing in Pictures
summary
Introduces Event Sourcing and CQRS as alternatives to traditional relational, transactional persistence for scalable and microservice architectures. Explains problems that arise when scaling and moving to distributed, asynchronous systems, then shows how Command Sourcing and separation of writes and reads (CQRS) address those issues and how to handle eventual consistency. Concludes with pros/cons and hard-won lessons from real projects, using simple sketches rather than a single implementation or DDD assumption.
AI-written summary · about
chapters (31)
- 0:00Introduction
- 2:50The concept of aggregate
- 4:48How a traditional application works
- 5:49More requests are needed
- 7:54The synchronous process is one of the worst enemies of scalability
- 10:32Why don’t we save the commands?
- 12:18How do I do it well?
- 14:57The flow of commands
- 15:57Validating commands
- 17:11Long transactions
- 19:09Compensating action
- 20:46Corrective action
- 22:07Free history
- 23:07Our world is consistent at the business level
- 24:59The system applies well to distributed systems
- 26:07The component transforms commands into events
- 29:12Thinking fast or slow?
- 30:27How to answer questions?
- 32:30Separation between commands and queries
- 33:44Downstream database
- 35:52Materialized views
- 37:43Disadvantages
- 39:20Evolution and adjustment
- 40:09Event log
- 41:35Event flow
- 42:07Common mistakes
- 43:01Normalized schema
- 43:53Don’t get bogged down
- 44:22Let’s sum it all up
- 45:41Advantages
- 46:29Conclusions
related talks
49mCQRS and Event Sourcing: Higher-Level Software Architecture for Everyone!
30mEventSourcing and CQRS — The Introduction That Was Missing
55m7 Reasons why your microservices should use Event Sourcing & CQRS
17m7 Reasons why your microservices should use Event Sourcing & CQRS
56mDeveloping Event-driven Microservices w/Event Sourcing and CQRS
51mCQRS + ES = CRUD, QED
40m7 Reasons why your microservices should use Event Sourcing & CQRS
25mCQRS and Event Sourcing: May the Event Be with You
