oci
System Design
intermediate
Event and concert ticket sales

Ticket Booking System

System Design Classic

A ticket booking system must handle extreme concurrency during flash sales — thousands of users competing for limited seats simultaneously. This OCI-native design uses OCI Cache (Redis) for atomic seat locking, Autonomous Database for ACID-compliant booking records, and OCI Queue Service for decoupled payment processing. Designed for teams building event ticketing or reservation systems that must handle extreme concurrency during flash sales.

Data Flow

Booking API
Booking Service
Waitlist Service
Seat Lock Store
Bookings DB
Waitlist Store
Payment Queue
Payment Processor

Share this architecture with your network

Service Breakdown (8 services)

Other8 services
Booking API
  • Routes API traffic and enforces policies
  • Manages authentication and rate limiting
  • Provides a unified API endpoint
Booking Service
  • Orchestrates containerized workloads at scale
  • Auto-scales pods and underlying nodes
  • Supports rolling updates and rollbacks
Waitlist Service
  • Orchestrates containerized workloads at scale
  • Auto-scales pods and underlying nodes
  • Supports rolling updates and rollbacks
Seat Lock Store
  • Caches frequently accessed data in-memory
  • Reduces database round-trips and latency
  • Supports TTL-based expiration policies
Bookings DB
  • Self-tuning database with automatic scaling
  • Handles patching and backups autonomously
  • Optimizes queries with ML-driven indexing
Waitlist Store
  • Handles flexible schema data at scale
  • Provides low-latency reads and writes
  • Scales horizontally with partitioning
Payment Queue
  • Buffers messages for reliable async processing
  • Supports visibility timeouts and retry policies
  • Decouples producers from consumers effectively
Payment Processor
  • Runs event-driven code without servers
  • Scales instantly from zero to peak load
  • Cost-effective for sporadic workloads

Scaling Strategy

OCI Cache handles seat availability checks and temporary locks using atomic operations. Autonomous Database stores confirmed bookings with serializable isolation for payment consistency and auto-scales OCPU allocation during peak load. OCI Queue decouples payment processing from the booking flow. OKE auto-scales container instances ahead of known sale events, and NoSQL Database manages the waitlist with FIFO ordering.

Related Architectures