-
The discussion started with a question about when to use strong consistency (aggregates) versus eventual consistency, using a dinner reservation system as an example.
-
Main insights about consistency and design:
- Consistency boundaries should generally be kept small, ideally supporting single-concurrent-user operations
- Eventual consistency can sometimes provide better business solutions, allowing for compensatory measures (like waitlists or discounts) rather than simple rejections
- Consistency boundaries are discovered rather than defined, based on what decisions need to be made together
- Key principles about aggregates: