Design a Distributed Counter

0%

Editorial Solution

System requirements

Functional

Capacity estimation

Traffic

Storage: The Surprising Part

API design

Read Counter

Database design

Redis: The Write Path

High-level design

Architecture Overview

Request flows

Increment Write Flow

Detailed component design

GATE: Sharded Counter Design

Trade-offs and tech choices

Eventual Consistency vs Strong Consistency

Failure scenarios

Redis Primary Failure

Future improvements

HyperLogLog for Unique Visitor Counting

Time-Windowed Counters for Trending

Table of Contents

System requirements

Functional

Capacity estimation

Traffic

Storage: The Surprising Part

API design

Read Counter

Database design

Redis: The Write Path

High-level design

Architecture Overview

Request flows

Increment Write Flow

Detailed component design

GATE: Sharded Counter Design

Trade-offs and tech choices

Eventual Consistency vs Strong Consistency

Failure scenarios

Redis Primary Failure

Future improvements

HyperLogLog for Unique Visitor Counting

Time-Windowed Counters for Trending

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock

Premium content

Unlock
Try this problem yourself

Reading a solution is not the same as producing one under interview pressure. Design it on the whiteboard and get scored feedback.


Markdown supported

0%

Editorial Solution

System requirements

Functional

Capacity estimation

Traffic

Storage: The Surprising Part

API design

Read Counter

Database design

Redis: The Write Path

High-level design

Architecture Overview

Request flows

Increment Write Flow

Detailed component design

GATE: Sharded Counter Design

Trade-offs and tech choices

Eventual Consistency vs Strong Consistency

Failure scenarios

Redis Primary Failure

Future improvements

HyperLogLog for Unique Visitor Counting

Time-Windowed Counters for Trending

Table of Contents

System requirements

Functional

Capacity estimation

Traffic

Storage: The Surprising Part

API design

Read Counter

Database design

Redis: The Write Path

High-level design

Architecture Overview

Request flows

Increment Write Flow

Detailed component design

GATE: Sharded Counter Design

Trade-offs and tech choices

Eventual Consistency vs Strong Consistency

Failure scenarios

Redis Primary Failure

Future improvements

HyperLogLog for Unique Visitor Counting

Time-Windowed Counters for Trending