The Pursuit of Instant Pushes
summary
A push system built from scratch uses Elixir and Cassandra with a streaming model that reads long partition rows, splices overlapping subscriptions before push, and sends payloads through lightweight push gate / push boy workers. Optimizations include single-binary match context parsing and single-partition batching; result: latency drops from ~45s to ~15–16s and hits 2.5M notifications in 22s on an eight‑core push machine (two for redundancy). Metrics use Telegraph → Influx and several drivers and libraries are open sourced.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 2:32Facts about Push System
- 5:08Notifications
- 7:26Rewrite
- 7:41New system
- 8:55Prototyping
- 9:50Cassandra
- 12:40Pushboy
- 16:21Optimizations
- 18:50Real graphs
- 19:17Binary merge
- 22:20Unicorns
- 22:35Prepare for disaster
- 23:27The orderic
- 25:03Questions
- 25:14Hardware
- 27:51Push Notifications
- 30:07Monitoring
- 33:23Other databases
- 35:27Mongo DB
- 35:50Cassandra Driver
- 38:17Why write another Cassandra Driver
- 40:08Cassandra Data Stack
related talks
42mLaravel Pulse: Behind the Scenes
12mProduct Announcement – Harsh Rajat
13mLightning Talk: As an App Developer I Want to Instantly Update my App in Cloud Foundry
12mHow We Got Here: What is Ethereum Push Notification Service
25mThe Time for CSP to DSP Transformation is Now
24mEtsy
24mDriving Adoption by Generating High Value Notifications in Backstage
20mOptimizing Delivery with SlackOps
