The System Design Newsletter

The System Design Newsletter

Share this post

The System Design Newsletter
The System Design Newsletter
Real Time Presence Platform System Design
Copy link
Facebook
Email
Notes
More
User's avatar
Discover more from The System Design Newsletter
Weekly newsletter to help busy engineers become good at system design
Over 148,000 subscribers
Already have an account? Sign in

Real Time Presence Platform System Design

Feed: User Online Status Indicator

Neo Kim's avatar
Neo Kim
May 31, 2023
6

Share this post

The System Design Newsletter
The System Design Newsletter
Real Time Presence Platform System Design
Copy link
Facebook
Email
Notes
More
Share

Thanks for reading systemdesign.one newsletter. If you're not yet subscribed, let me help you with that:

High-Level Design

The real-time platform should display the online status of a client connected to it. The client needs to subscribe to the platform to receive notifications about the status of their connections (friends). At a high level, the presence platform 2 performs the following operations:

  1. The subscriber (client) utilizes the HTTP GET method to query the presence service and retrieve the status of a publisher

  2. The presence service then queries the presence database to determine the presence status

  3. The client subscribes to the publisher's status through the real-time platform, establishing an SSE connection

  4. Once the publisher comes online, they establish an SSE connection with the real-time platform

  5. The real-time platform sends a UDP heartbeat signal to the presence service

  6. The presence service queries the presence database to verify if the publisher has recently come online

  7. If the publisher is confirmed as online, the presence service publishes an online event to the real-time platform using the HTTP PUT method

  8. The real-time platform broadcasts the change in the publisher's presence status to subscribers through SSE

    The presence service can retrieve the last active timestamp of an offline publisher by querying the presence database. The existing architecture can be leveraged to implement a real-time presence platform.

Read the full article


Thank you for reading System Design Newsletter. This post is public so feel free to share it.

Share

Hepsilion's avatar
Ibrahim Elsawaf's avatar
Han's avatar
Sertaç's avatar
Sébastien VINCENT's avatar
6 Likes
6

Share this post

The System Design Newsletter
The System Design Newsletter
Real Time Presence Platform System Design
Copy link
Facebook
Email
Notes
More
Share

Discussion about this post

User's avatar
8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers
#1: Learn More - Awesome WhatsApp Engineering (6 minutes)
Aug 27, 2023 â€¢ 
Neo Kim
733

Share this post

The System Design Newsletter
The System Design Newsletter
8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers
Copy link
Facebook
Email
Notes
More
24
How PayPal Was Able to Support a Billion Transactions per Day With Only 8 Virtual Machines
#30: Learn More - Awesome PayPal Engineering (4 minutes)
Dec 26, 2023 â€¢ 
Neo Kim
240

Share this post

The System Design Newsletter
The System Design Newsletter
How PayPal Was Able to Support a Billion Transactions per Day With Only 8 Virtual Machines
Copy link
Facebook
Email
Notes
More
14
How Stripe Prevents Double Payment Using Idempotent API
#45: A Simple Introduction to Idempotent API (4 minutes)
May 9, 2024 â€¢ 
Neo Kim
380

Share this post

The System Design Newsletter
The System Design Newsletter
How Stripe Prevents Double Payment Using Idempotent API
Copy link
Facebook
Email
Notes
More
29

Ready for more?

© 2025 Neo Kim
Publisher Privacy
Substack
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More

Create your profile

User's avatar

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.