How does Netflix scale push messaging for millions of devices?
This post draws from an article published on Netflixโs engineering blog. Hereโs my understanding of how the online streaming giantโs system works.
๐๐๐ช๐ฎ๐ข๐ซ๐๐ฆ๐๐ง๐ญ๐ฌ & ๐ฌ๐๐๐ฅ๐
- 220 million users
- Near real-time
- Backend systems need to send notifications to various clients
- Supported clients: iOS, Android, smart TVs, Roku, Amazon FireStick, web browser
๐๐ก๐ ๐ฅ๐ข๐๐ ๐จ๐ ๐ ๐ฉ๐ฎ๐ฌ๐ก ๐ง๐จ๐ญ๐ข๐๐ข๐๐๐ญ๐ข๐จ๐ง
1. Push notification events are triggered by the clock, user actions, or by systems.
2. Events are sent to the event management engine.
3. The event management engine listens to specific events and forward events to different queues. The queues are populated by priority-based event forwarding rules.
4. The โevent priority-based processing clusterโ processes events and generates push notifications data for devices.
5. A Cassandra database is used to store the notification data.
6. A push notification is sent to outbound messaging systems.
7. For Android, FCM is used to send push notifications. For Apple devices, APNs are used. For web, TV, and other streaming devices, Netflixโs homegrown solution called โZuul Pushโ is used.
Source: Netflix Eng Blog. The original article is linked in the comment.
โ
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): blog.bytebytego.com