Files
system-design-101/data/guides/how-does-netflix-scale-push-messaging-for-millions-of-devices.md
Kamran Ahmed ee4b7305a2 Adds ByteByteGo guides and links (#106)
This PR adds all the guides from [Visual
Guides](https://bytebytego.com/guides/) section on bytebytego to the
repository with proper links.

- [x] Markdown files for guides and categories are placed inside
`data/guides` and `data/categories`
- [x] Guide links in readme are auto-generated using
`scripts/readme.ts`. Everytime you run the script `npm run
update-readme`, it reads the categories and guides from the above
mentioned folders, generate production links for guides and categories
and populate the table of content in the readme. This ensures that any
future guides and categories will automatically get added to the readme.
- [x] Sorting inside the readme matches the actual category and guides
sorting on production
2025-03-31 22:16:44 -07:00

1.5 KiB
Raw Permalink Blame History

title, description, image, createdAt, draft, categories, tags
title description image createdAt draft categories tags
How Netflix Scales Push Messaging Explore how Netflix scales push messaging for millions of devices. https://assets.bytebytego.com/diagrams/0291-netflix-pn.png 2024-02-28 false
real-world-case-studies
System Design
Push Notifications

This post draws from an article published on Netflixs engineering blog. Heres my understanding of how the online streaming giants system works.

Requirements & Scale

  • 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

The Life of a Push Notification

  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, Netflixs homegrown solution called Zuul Push is used.