High-Concurrency Geospatial MobilityPRODUCTION RETROSPECTIVE

Uber: H3 Hexagonal Geospatial Indexing & Real-Time DISCO Dispatch

Real-time mobility matching at planet scale: H3 hexagonal hierarchical geospatial index, DISCO supply-demand marketplace matching, and Cadence durable workflow orchestration.

High-Level Architectural Overview

Uber matches millions of drivers and riders concurrently. GPS coordinates stream over WebSockets every 4 seconds. Uber partitions the globe into hierarchical hexagons using the open-source H3 spatial index, ensuring equidistant neighbor traversal and zero metric distortion.

Key Engineering Problems & Trade-Offs

H3: Hexagonal Hierarchical Spatial Index

Millions of GPS updates per minute matched within sub-second dispatch windows
The Scaling Problem

Finding nearby available drivers within a dynamic radius without expensive Euclidean distance scans on millions of latitude/longitude coordinates.

Engineering Solution

The globe is mapped into a discrete hexagonal hierarchical grid. Unlike square grids where diagonals are √2 longer, hexagons have invariant distance to all 6 neighbors.

Architectural Trade-Offs

Hexagons cannot be subdivided into smaller hexagons perfectly without slight aperture rotation (aperture 7), but neighbor distance uniformity drastically simplifies spatial radius calculations.

How to Say This in an Interview

When asked how to find drivers within 3 km, explain H3 k-ring traversal: looking up the driver’s current H3 cell and querying the concentric ring of k neighbor hexagons in O(1) hash maps.

Curriculum Topics Used in Uber Architecture (21)
Full Syllabus
Phase 1#1

What System Design Is & Functional vs Non-Functional Requirements

Define system architectures and distinguish the core capabilities of a system from its performance, scale, availability, and reliability characteristics.

6 min readRead Blueprint →
Phase 1#13

"What Happens When You Type a URL and Hit Enter" - Full Walkthrough

The iconic system design capstone question: Unify keyboard interrupts, HSTS, DNS resolution, ARP, TCP handshake, TLS 1.3, HTTP routing, DB query, and DOM rendering.

12 min readRead Blueprint →
Phase 4#56

SQL vs NoSQL Decision Framework

The ultimate architecture selection rubric: 8 critical decision axes, hybrid polyglot persistence patterns, and why PostgreSQL is often the best default choice.

9 min readRead Blueprint →
Phase 5#72

Search-Optimized Stores & Inverted Indexes (Elasticsearch / Lucene)

Explore full-text search: Inverted index mechanics, Tokenization, Stemming, Stop words, BM25 relevance scoring, and fuzzy n-gram autocomplete.

9 min readRead Blueprint →
Phase 6#88

The Saga Pattern: Choreography vs Orchestration

Manage distributed business transactions across microservices using compensating transactions, choreography, and centralized orchestrators.

9 min readRead Blueprint →
Phase 7#106

Local (In-Memory) vs Distributed Cache

Evaluate architectural caching tiers: In-process heap caches (Guava, Caffeine) vs Remote distributed clusters (Redis, Memcached).

7 min readRead Blueprint →
Phase 8#112

Message Broker Landscape: RabbitMQ vs Apache Kafka vs AWS SQS

Select the optimal messaging engine: Smart broker / dumb consumer (RabbitMQ) vs Dumb broker / smart consumer (Kafka) vs Fully managed serverless (AWS SQS).

9 min readRead Blueprint →
Phase 8#120

Command Query Responsibility Segregation (CQRS)

Separate read and write data models: Write-optimized relational stores, read-optimized projection views (Elasticsearch/Redis), projection lag mitigation, and eventual consistency.

9 min readRead Blueprint →
Phase 8#122

Batch vs Stream Processing

Analyze data processing paradigms: Bounded historical datasets (Spark/Hadoop) vs Unbounded real-time event streams (Flink/Kafka Streams), and the Lambda vs Kappa architecture evolution.

9 min readRead Blueprint →
Primary Technical Sources & Published Papers

Ready to Practice Uber-Style Systems?

Start with foundational networking, compute, and storage, and build up to complex distributed consensus.

Start Free: Topic #1