Summary
In this chapter, we looked at the potential for data loss in a distributed system and examined how we can use event delivery guarantee patterns to appropriately sacrifice performance for a lower loss risk.
We learned the differences between ACID and BASE paradigms and how eventual consistency is a key consideration of distributed event-driven data architecture. After understanding how to identify and evaluate acceptable data loss, we looked at how to apply different delivery guarantees between our services and the event broker to match the need. Finally, we considered what the impact of data loss might be and how the context of the real-life domain challenge we are addressing influences our design response to that potential loss.
In the next chapter, we will switch focus to service and application resiliency.