LinkedIn Professional Network · View 20 of 30 · 5 · Runtime
Decisions
- ATC decides for every notification: preferences, frequency caps, deduplication, aggregation and channel (LinkedIn, 2018)
- Concourse generates content notifications nearline from Kafka (LinkedIn, 2018)
- No notification step sits on the path of the action that caused it
Numbers
- Notification created in under 1 s; delivery time depends on the channel
- Push providers are retried with exponential backoff, then dead-lettered
- A notification past its usefulness window is dropped, never delivered late
Risks
- Too many notifications is the fastest way to lose a member. The frequency cap is a member-protection rule with a named owner
- The badge count is a derived counter and may lag the notification list by seconds