Developing Microservices with Aggregates

Developing Microservices with Aggregates

Devoxx via YouTube Direct link

The Customer aggregate

25 of 33

25 of 33

The Customer aggregate

Class Central Classrooms beta

YouTube videos curated by Class Central.

Classroom Contents

Developing Microservices with Aggregates

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Developing Microservices with Aggregates
  2. 2 Presentation goal
  3. 3 About Chris
  4. 4 Microservice architecture
  5. 5 Domain model = tangled web of classes
  6. 6 Reliance on ACID transactions to enforce invariants
  7. 7 and requires 2PC
  8. 8 2PC is not an option
  9. 9 Domain Driven Design - building blocks
  10. 10 About Aggregates
  11. 11 Aggregate: rule #1
  12. 12 Domain model = collection of loosely connected aggregates
  13. 13 Easily partition into microservices
  14. 14 Aggregate rule #2
  15. 15 Transaction scope = service
  16. 16 How to maintain data consistency between aggregates?
  17. 17 Using event-driven Sagas instead of 2PC
  18. 18 Saga-based, eventually consistent order processing
  19. 19 Complexity of compensating transactions
  20. 20 How atomically update database and publish an event
  21. 21 Failure = inconsistent system
  22. 22 Event sourcing = event-centric persistence
  23. 23 Persists events NOT current state
  24. 24 Replay events to recreate state
  25. 25 The Customer aggregate
  26. 26 Customer command processing
  27. 27 Customer applying events
  28. 28 Request handling in an event sourced application
  29. 29 Event Store publishes events consumed by other services
  30. 30 Event store = database + message broker
  31. 31 Benefits of event sourcing
  32. 32 Drawbacks of event
  33. 33 Summary

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.