System Design Twitter Course

System Design Twitter Course

Lesson 20: Cross-Region Synchronization - Building Global Twitter Architecture

Sumedh's avatar
Sumedh
Oct 17, 2025
∙ Paid

What We're Building Today

Today we're tackling one of the most challenging aspects of global systems: keeping data synchronized across different continents while your users are actively tweeting, liking, and following each other. We'll implement:

  • Asynchronous replication between US, Europe, and Asia regions

  • Conflict resolution when users modify the same data simultaneously across regions

  • Network partition handling for when submarine cables get cut (yes, this actually happens)

  • Eventual consistency patterns that Twitter uses to serve 500M global users

By the end, you'll have a bulletproof synchronization system that handles real-world chaos gracefully.

Youtube Video

Core Concepts: The Art of Global Data Harmony

Asynchronous Replication: The WhatsApp Model

Think of how WhatsApp handles your message across countries. When you send a message in New York to someone in Tokyo, it doesn't wait for Tokyo to confirm receipt before showing you the green checkmark. Your message gets replicated asynchronously - fast locally, eventually globally.

Why Asynchronous Wins at Scale:

Synchronous: Wait for all regions → 300ms+ latency → User frustration
Asynchronous: Write locally → 50ms response → Replicate in background

The trade-off? Your Tokyo friend might see your message 500ms later, but you get instant feedback. For social media, user experience trumps perfect consistency.

Conflict Resolution: The Google Docs Strategy

Imagine two people editing the same Google Doc paragraph simultaneously from different countries. Google Docs doesn't crash - it merges changes intelligently. We'll implement similar conflict resolution using:

  • Vector clocks to track causality ("which edit happened first?")

  • Last-writer-wins for simple cases (profile updates)

  • Merge strategies for complex data (follower lists)

Network Partitions: The Submarine Cable Reality

Every year, ships accidentally cut submarine internet cables. When this happens, entire regions get isolated. Your system must continue working independently and reconcile data when connectivity returns. We call this "split-brain" recovery.

Context in Distributed Systems: Twitter's Global Challenge

Where This Fits in Our Twitter Architecture

Last lesson, we built Kafka for handling 100K messages/second within a single region. Now we're connecting multiple regions, each with their own Kafka clusters, databases, and user bases. This creates our global nervous system.

Current Week 2 Scale Target: 10,000 concurrent users across 3 regions
Real Twitter Scale: 500M users across 15+ global data centers

The Multi-Region Data Flow

When @elonmusk tweets from California, users in Japan should see it within seconds, not minutes. Our synchronization system ensures:

  1. Local writes happen instantly (California users see the tweet immediately)

  2. Cross-region replication happens in parallel (Japan gets the update asynchronously)

  3. Conflict resolution handles edge cases (if someone tries to delete the tweet simultaneously)

Architecture: Building the Global Synchronization Engine

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2025 SystemDR
Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture