Markdown Editor

분산 시스템 기초 키트

기본 구성 요소 학습: 추정, 고유 ID, 복원력, 키-값 저장소, 캐시, 락과 합의, 메시지 큐, 스트림 처리, CDC, 내구성 워크플로.

1단계

학습

  1. Back-of-Envelope Estimation and Capacity Model Template

    전체

    Reference latency and unit tables, assumptions register, QPS, storage, bandwidth, cache, server and cost formulas, worked example, sensitivity, traceability

    Jeff Dean latency numbers (LADIS 2009)
  2. Distributed Unique ID Generator System Design Template

    전체

    UUIDv4 and v7 per RFC 9562, Snowflake 41/10/12 layout, clock skew and backwards clocks, leased worker IDs, index locality, 53-bit JS limit, ticket servers

    RFC 9562 (May 2024)
  3. Resilience and Load Shedding Design Template (Retries, Circuit Breakers)

    전체

    Failure model, deadlines, retries with jitter and budgets, circuit breakers, bulkheads, backpressure, criticality-based shedding, degradation, fault tests

    Google SRE book ch. 21-22; Amazon Builders' Library
2단계

참조 설계

  1. Distributed Key-Value Store System Design Template (Dynamo-Style)

    전체

    Consistent hashing, vnodes, quorums (R+W>N), vector clocks vs LWW, hinted handoff, Merkle anti-entropy, gossip, LSM compaction, cache eviction, hot keys

    Dynamo (DeCandia et al., SOSP 2007)
  2. Distributed Cache System Design Template

    전체

    Distributed cache: cache-aside, delete on write, leases against herds, commit-log invalidation across regions, slot maps, hot keys, gutter pool, warm-up

  3. Distributed Lock and Coordination System Design Template

    전체

    Lock and coordination service: Raft consensus, read index, sessions and keep-alives, leader election, fencing tokens, watches, read scaling, misuse policy

  4. Distributed Message Queue System Design Template (Kafka-Style Log)

    전체

    Partitions, log segments, retention, acks and idempotence, consumer groups, offsets, delivery semantics, ordering, ISR replication, backpressure, DLQ, schemas

    Apache Kafka 4.3 documentation; Kafka paper (NetDB 2011)
  5. Stream Processing Engine System Design Template

    전체

    Stream processing engine: event time, watermarks, windows and triggers, late data, keyed state, barrier checkpoints, exactly-once sinks, backpressure, rescaling

  6. CDC Pipeline System Design Template

    전체

    CDC pipeline: log-based capture, watermark chunked snapshot, per-key order, schema evolution, outbox, search, cache and warehouse sinks, replay

  7. Workflow Orchestration Engine System Design Template

    전체

    Durable workflow engine design: event history and replay, deterministic code, activities, timers, task queues, retries, versioning, visibility, history sharding