Building a Distributed Task Scheduler With Akka, Kafka, and Cassandra
summary
PagerDuty builds a production Task Scheduler with Akka, Kafka, and Cassandra that ships in six weeks to production and executes millions of tasks per month. Kafka provides partitioned ordering by hashing an ordering ID, Akka runs lightweight per-ordering actors to serialize retries, and Cassandra stores durable state; the new system cuts Cassandra reads by 65% reduction in Cassandra reads, supports consumer rebalances for zero‑downtime scaling, and survives datacenter outage testing.
AI-written summary · about
chapters (16)
- 0:00Intro
- 3:24The Problem - Use Cases
- 5:14The Problem - Ordering
- 6:10The Problem - Assumptions
- 8:59Problems with The Old Solution
- 10:21The New Hotness - Technology
- 13:25Dynamic Load - Kafka
- 17:35Dynamic Load - Cassandra
- 19:54Datacenter Outages - Kafka
- 22:02Datacenter Outage - Cassandra
- 24:13Datacenter Outage - Service
- 25:48Task Ordering - Kafka
- 27:33Task Ordering - Service
- 30:19Scheduler in Production
- 31:59Did it solve our problems?
- 34:13Questions?
related talks
48mThe three paths of Scaling with Akka
41mAkka in Production: Our Story
55mExperience report on using Akka in production: pitfalls and rewards
26mOperating Cassandra in Kubernetes with Temporal
33mKafka Microservices with Kafka plus Akka and Kafka Streams
26mOptimizing Kafka Consumers with Kubernetes and KEDA...
31mWriting Reliable, Scalable, Fault Oblivious Code On K8s the Easy Way
42mDistributed Data Stores on Kubernetes
