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.