mirror of
https://github.com/ByteByteGoHq/system-design-101.git
synced 2026-04-01 16:57:23 -04:00
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
1.5 KiB
1.5 KiB
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 |
|
|
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.
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
- Push notification events are triggered by the clock, user actions, or by systems.
- Events are sent to the event management engine.
- The event management engine listens to specific events and forward events to different queues. The queues are populated by priority-based event forwarding rules.
- The “event priority-based processing cluster” processes events and generates push notifications data for devices.
- A Cassandra database is used to store the notification data.
- A push notification is sent to outbound messaging systems.
- 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.
