How we use formal modeling, lightweight simulations, and chaos testing to design reliable distributed systems | Datadog
Nov 20, 2024Arun Parthiban, Sesh Nalla, Cecilia Wat-Kim

Summary
This post details the application of formal modeling (TLA+), lightweight simulations, and chaos testing to the design of Datadog's new message queuing service, Courier. It describes Courier's requirements for multi-tenancy, at-least-once delivery, graceful degradation, and horizontal scalability. The design leverages multiple FoundationDB clusters for multi-tenancy and a broker layer for API exposure. The use of TLA+ and simulations is highlighted as a method to validate system-level properties and failure modes during the design phase, complementing traditional testing methods.
More from the Data Completeness Measurement trail
- How we measure data completeness at scale | Datadog
- How we migrated a live routing system using AI-assisted refactoring | Datadog
- How we built reliable log delivery to thousands of unpredictable endpoints | Datadog
- Achieving relentless Kafka reliability at scale with the Streaming Platform | Datadog
- Scaling Self-Serve Analytics: The Tools Empowering 5,000 Employees | Datadog