Skip to main content
  1. System Design Components/

Canonical Open Protocols To Study By Archetype

Canonical Open Protocols To Study By Archetype #

Use this only for protocol-first deep dives.

This sheet is intentionally strict:

  • include open specs
  • include de facto open protocols with open source
  • exclude product families unless they expose a real protocol surface
  • exclude algorithm-only or pattern-only mechanics

The goal is not coverage of every archetype. The goal is a clean set of canonical protocols worth studying deeply.


Canonical Protocols #

Archetype / MechanicCanonical ProtocolWhy Study ItSpecSource
A18 / I14 immutable namespace + content deliveryOCI Distribution Specclean modern registry protocol: names/tags, manifests, blobs, push/pullhttps://specs.opencontainers.org/distribution-spec/https://github.com/opencontainers/distribution-spec
A18 immutable objects + movable refsGit wire protocol v2refs, immutable objects, fetch/push negotiation, stateless command protocolhttps://git-scm.com/docs/gitprotocol-v2https://github.com/git/git
I05 append log + consumer progressKafka protocolproduce/fetch, replication-facing APIs, group coordination, offsetshttps://kafka.apache.org/protocolhttps://github.com/apache/kafka
I01 coordination / consensusRaftcanonical replicated-log consensus model: term, leader, quorum, commithttps://raft.github.io/raft.pdfhttps://github.com/etcd-io/raft
A11 / I11 control plane + local snapshotxDSstrong config-distribution protocol family: discovery requests, versioned resources, apply semanticshttps://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol.htmlhttps://github.com/envoyproxy/data-plane-api
A11 / I11 control plane + local snapshotKubernetes watch + resourceVersionde facto watch/sync protocol: list/watch, bookmarks, monotonic versioninghttps://kubernetes.io/docs/reference/using-api/api-concepts/https://github.com/kubernetes/kubernetes
I10 membership / presenceSWIMcanonical gossip membership and failure detectionhttps://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/SWIM.pdfhttps://github.com/hashicorp/memberlist
A14 realtime bidirectional transportWebSocketcanonical persistent client/server transport for realtime appshttps://www.rfc-editor.org/info/rfc6455RFC / many implementations
A14 lightweight pub/sub transportMQTTcanonical lightweight publish/subscribe protocol, especially for constrained clients/deviceshttps://mqtt.org/mqtt-specification/https://github.com/eclipse-mosquitto/mosquitto
I07 cache / origin deliveryHTTP Cachingcanonical freshness, validators, revalidation, conditional requestshttps://www.rfc-editor.org/info/rfc9111RFC / many implementations
A01/A11/I07 delegated auth on APIsOAuth 2.0canonical delegated authorization protocolhttps://www.rfc-editor.org/info/rfc6749RFC / many implementations
A01/A11/I07 identity on top of delegated authOpenID Connectcanonical identity layer over OAuth 2.0https://openid.net/specs/openid-connect-core-1_0.htmlhttps://github.com/openid

Best Canonical Set #

If you want the smallest strong study set, use this order:

  1. OCI Distribution Spec
  2. Git wire protocol v2
  3. Kafka protocol
  4. Raft
  5. xDS
  6. Kubernetes watch + resourceVersion
  7. SWIM
  8. WebSocket
  9. HTTP Caching
  10. OAuth 2.0 / OIDC

What To Exclude From Protocol Study #

These are important mechanics, but they are usually not best learned through one canonical open protocol:

  • A06 inventory / constrained resource
  • A08 time-bounded exclusive allocation
  • A09 future constraint + claimable run
  • A10 frontier + claimable run
  • A12 matching / assignment
  • A13 ranking / leaderboard
  • A17 shared mutable subject

For those, the canonical study objects are usually:

  • algorithms
  • coordination models
  • data structures
  • implementation families

Examples:

  • A17 -> OT, CRDT, central sequencer model
  • A09 -> timing wheel, due-index scanner, delayed queue
  • A13 -> top-k, sketches, windowed aggregation

Archetype-Focused Shortcuts #

If you are studying A18 #

Study in this order:

  1. Git wire protocol v2
  2. OCI Distribution Spec
  3. HTTP Caching

Optional supporting study:

  1. Kubernetes watch + resourceVersion

Why:

  • Git teaches refs + immutable objects
  • OCI teaches manifests + blobs + namespace delivery
  • HTTP Caching teaches validators and immutable-content fetch behavior

If you are studying A11 / I11 #

Study in this order:

  1. xDS
  2. Kubernetes watch + resourceVersion

Why:

  • xDS is the strongest purpose-built config distribution protocol
  • Kubernetes watch is the strongest de facto resource watch/sync model

If you are studying A14 #

Study in this order:

  1. WebSocket
  2. MQTT

Why:

  • WebSocket is the mainstream client/server realtime transport
  • MQTT is the cleaner pub/sub transport when delivery semantics and constrained clients matter

Usage Rule #

Use this sheet only when the mechanic is actually protocol-shaped.

If the “how” is mainly:

  • computation
  • ranking
  • matching
  • timer data structure
  • frontier checkpointing
  • collaborative merge model

then study:

  • algorithms
  • data structures
  • coordination models

not protocols.