~/talk

Developing Event-driven Microservices w/Event Sourcing and CQRS

Talkat Philly ETE 2015 · 2015-04-07..04-08· [microservices, distributed-systems]
slides:none on file

Explains an implementation: each aggregate persists a sequence of business events, not a current row, and the system persist events instead of state then replays them (with periodic snapshots) to reconstruct state; the event store doubles as the publish/subscribe source so services consume events—sometimes a “four‑or‑five event” ping‑pong completes a money transfer—and CQRS moves reads to materialized query views (ElasticSearch, MongoDB, DynamoDB) updated asynchronously for fast joins.

AI-written summary · about

  1. 0:00Intro
  2. 2:17Traditional application architecture
  3. 4:35Obstacle to frequent deployments
  4. 4:50Overloads your IDE and container
  5. 5:31Obstacle to scaling development
  6. 6:05Requires long-term commitment to a technology stack
  7. 6:33Limitations of a single relational database
  8. 7:30Apply the scale cube
  9. 8:04Use a microservice architecture
  10. 8:30Use NoSQL databases
  11. 8:59Different modules use different types of databases
  12. 10:17Update two entities in a NoSQL database
  13. 10:35Cassandra main table index table
  14. 11:30Event-based architecture to the rescue
  15. 12:35Eventually consistent money transfer transfer Money
  16. 13:48Update and publish using 2PC
  17. 14:18Use data store as message queue
  18. 16:40Persists events NOT current state
  19. 17:18Replay events to recreate state
  20. 20:34Event store implementations
  21. 21:09Optimizing using snapshots
  22. 22:12Aggregate traits
  23. 23:10Account - command processing
  24. 25:31Aggregate type classes/implicits
  25. 26:35Business benefits of event
  26. 28:47Technical benefits of event
  27. 29:41Drawbacks of event sourcing
  28. 33:28Strategic design: identify sub- domains
  29. 33:57Strategic design: define microservices
  30. 34:17Decide inter-service communication mechanisms
  31. 36:17Use the familiar building blocks of DDD
  32. 36:48Designing domain events
  33. 38:00The anatomy of a microservice
  34. 38:51Asynchronous Spring MVC controller
  35. 40:09Handling events published by Accounts
  36. 41:52Command Query Responsibility Segregation (CQRS)
  37. 42:50Query-side microservices
  38. 44:44Benefits and drawbacks of
  39. 47:23Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.