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.