SYSTEM Cited by 1 source
QuiCK (queuing model)¶
QuiCK is the queuing model described in Apple's FoundationDB- team paper QuiCK: A Queuing System in CloudKit. It shows up on the sysdesign-wiki as the stated lineage of Tigris's distribution layer — "a queuing system modelled on Apple's QuiCK paper to distribute object data to multiple replicas, to regions where the data is in demand, and to 3rd party object stores… like S3."
(Source: sources/2024-02-15-flyio-globally-distributed-object-storage-with-tigris)
What it is¶
QuiCK is a distributed queuing system built on top of FoundationDB — the paper's contribution is a design for scalable queuing that inherits FDB's transactional guarantees while supporting high-throughput producer / consumer workloads across a large keyspace. At Tigris, it is used to move object bytes (not just metadata) across the system:
- from the write-receiving region to other replicas;
- from any region to demand regions where the object is currently being read (concepts/demand-driven-replication);
- from any region out to third-party backends (e.g. S3) serving as archival / origin tier.
Why it fits this workload¶
- FoundationDB-native — if you already run FDB as your metadata store (as Tigris does), a queue that lives in the same transactional keyspace doesn't need a second coordination layer.
- Multi-destination fanout — a single enqueued "propagate this object" task can fan out to many consumers (replicas, demand regions, backends) without a separate pub-sub tier.
- Back-pressure / retry — durable queue semantics let the byte-plane catch up asynchronously after load spikes or partial outages; metadata stays strongly consistent in FDB regardless.
Caveats¶
- Wiki content is indirect. Tigris is the only source in this wiki mentioning QuiCK to date; Apple's paper is the primary reference. Details of QuiCK's consumer-coordination, message-ordering, or partitioning mechanics are out-of-scope for Fly.io's announcement and should be sourced from the paper directly when needed.
- Tigris's specific use of QuiCK — whether they run a literal reimplementation of the paper or a QuiCK-inspired variant — is not specified beyond "modelled on".
Seen in¶
- sources/2024-02-15-flyio-globally-distributed-object-storage-with-tigris — Tigris's distribution layer for object bytes across replicas, demand regions, and third-party backends.
Related¶
- systems/foundationdb — the substrate the QuiCK model is designed for.
- systems/tigris — the canonical production reference in this wiki so far.
- concepts/demand-driven-replication — the replication shape QuiCK enables at Tigris.
- patterns/metadata-db-plus-object-cache-tier — the architectural pattern QuiCK underpins at Tigris.