Katkat

Design a Real-Time Logging System

Booking.comSoftware Engineer · Onsite

Last updated

This question evaluates a candidate's competency in designing scalable, low-latency telemetry and logging systems, covering distributed systems architecture, ingestion pipelines, data modeling, real-time querying, reliability, backpressure, partitioning, indexing, retention, and operational trade-offs.

Design a logging/telemetry system for a large application platform.

Requirements:

  • Many services send log or metric events to the system
  • Event submission from producers can be asynchronous
  • Users must be able to read/query the data in real time for debugging, monitoring, or dashboards

Discuss:

  • APIs and data model
  • High-level architecture for ingestion, storage, and querying
  • How to handle high write throughput
  • How to make recently ingested data available for real-time reads
  • Reliability, fault tolerance, and backpressure
  • Partitioning, indexing, retention, and scaling trade-offs