Home / Companies / Zapier / Blog / Post Details
Content Deep Dive

Lessons from using the outbox pattern at scale

Blog post from Zapier

Post Details
Company
Date Published
Author
Sugat Mahanti
Word Count
1,533
Company Posts That Month
49
Language
English
Hacker News Points
-
Post removed?
No
Summary

The outbox pattern was employed by Zapier to ensure reliability in its event-driven services, particularly for their Events API, which relied on a large managed Kafka cluster in AWS. The pattern involved using a transactional outbox backed by a local SQLite database to buffer events, allowing the system to continue accepting events even during Kafka outages. The initial implementation faced scaling challenges due to SQLite's handling of concurrent reads and writes, which were mitigated by sharding the database, implementing per-shard mutexes, and optimizing settings for disk usage control. Despite its success in managing event spikes and reducing operational strain, limitations such as difficulty in scaling the number of outboxes, constraints posed by StatefulSet pods, and risk associated with local EBS volumes prompted Zapier to explore new solutions. The team is transitioning to a sidecar mode, leveraging S3 and SQS for durability and replay capabilities, which better aligns with their evolving requirements for latency and deployment flexibility.

Trends Found in this Post
Trend Post Mentions Total Month Mentions Posts Companies MoM
Kubernetes 3 1,840 308 106 +33%
Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.