11 Delivery semantics in distributed systems

This chapter covers

  • Publish-subscribe and producer-consumer models in data-intensive applications
  • Delivery guarantees and their impact on resilience and fault tolerance
  • Building fault-tolerant systems leveraging delivery semantics

In the previous chapter, we learned about fault tolerance, retries, and idempotence of operations in the context of a relatively straightforward system architecture. In real life, our systems consist of multiple components responsible for different parts of our business domain and infrastructure. For example, we may have a service that is responsible for collecting metrics. Another service may be responsible for collection logs and so on. Besides that, we need applications ...

Get Software Mistakes and Tradeoffs now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.