LeetDezine
Deep Dives
Initializing search
    • Home
    • Start Here
    • Concepts
    • Back of Envelope
    • Foundation
    • Ascent
    • Expedition
    • Summit
    • Battleground
    • Home
    • Start Here
    • Concepts
    • Back of Envelope
    • Foundation
    • Ascent
    • Expedition
    • Summit
    • Battleground
      • WhatsApp
        • System Requirements
        • Real-Time Comms
        • Base Architecture
        • Deep Dives
          • Database
          • Message Ordering
          • Offline Delivery
          • Message Status
          • Inbox
          • Caching
          • Peak Traffic
          • Fault Isolation
        • Final Architecture
        • Observability
    1. Home
    2. Battleground
    3. WhatsApp
    4. Deep Dives
    DD

    WhatsApp · Deep Dives

    Deep Dives

    Eight deep dives — database, message ordering, offline delivery, message status, inbox, caching, peak traffic, and fault isolation.

    Database
    DB choice, schema, tiered storage, sharding, and hot partition detection and salting.
    DynamoDBShardingHot PartitionSalting
    Open →
    Message Ordering
    Client vs server timestamps, the time machine problem, and per-conversation sequence with Redis INCR.
    Per-Conv. SeqRedis INCRClock Skew
    Open →
    Offline Delivery
    Detecting offline users, pending deliveries table, push notification flow, and reconnect sync.
    Offline QueuePush NotificationPending Deliveries
    Open →
    Message Status
    Three ticks implementation, status table, delivered ack, read receipts, and privacy settings.
    Read ReceiptsThree TicksPrivacyLast Seen
    Open →
    Inbox
    Inbox load flow, N+1 problem, denormalization, Redis sorted set for conversation list.
    N+1 ProblemDenormalizationRedis Sorted Set
    Open →
    Caching
    Message history cache, profile cache, cache invalidation, cold start, and coalescing.
    Message CacheProfile CacheCold StartInvalidation
    Open →
    Peak Traffic
    Thundering herd, connection storm, rate limiting, backpressure, and load shedding.
    Thundering HerdBackpressureConnection StormLoad Shedding
    Open →
    Fault Isolation
    Connection server failure, DynamoDB failure, Redis failure — each isolated with circuit breakers.
    Reconnect StormCircuit BreakerRedis Failure
    Open →