System Design: Sequencer

Lesson 46 of 25610 min readPremium lesson preview
In this lesson1 sections

System Design: Sequencer

Motivation

A distributed service needs a way to identify records or events without collisions. These IDs may become storage keys or references shared between services. A single database can allocate auto-incrementing values, but independent writers across shards need an allocation strategy that keeps their outputs distinct.

Identifiers also connect observations across a request’s execution. Facebook’s Canopy tracing paper describes assigning a TraceID to a request and propagating it across process boundaries and fan-out. Distinguish that shared trace identity from a separate identifier for each event within the trace.

Assigning a unique TraceID to each event
Assigning a unique TraceID to each event

The rest of this lesson is for Premium members

Premium opens every lesson in this course, along with all questions and solutions on PracHub.