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 / Mechanic | Canonical Protocol | Why Study It | Spec | Source |
|---|---|---|---|---|
A18 / I14 immutable namespace + content delivery | OCI Distribution Spec | clean modern registry protocol: names/tags, manifests, blobs, push/pull | https://specs.opencontainers.org/distribution-spec/ | https://github.com/opencontainers/distribution-spec |
A18 immutable objects + movable refs | Git wire protocol v2 | refs, immutable objects, fetch/push negotiation, stateless command protocol | https://git-scm.com/docs/gitprotocol-v2 | https://github.com/git/git |
I05 append log + consumer progress | Kafka protocol | produce/fetch, replication-facing APIs, group coordination, offsets | https://kafka.apache.org/protocol | https://github.com/apache/kafka |
I01 coordination / consensus | Raft | canonical replicated-log consensus model: term, leader, quorum, commit | https://raft.github.io/raft.pdf | https://github.com/etcd-io/raft |
A11 / I11 control plane + local snapshot | xDS | strong config-distribution protocol family: discovery requests, versioned resources, apply semantics | https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol.html | https://github.com/envoyproxy/data-plane-api |
A11 / I11 control plane + local snapshot | Kubernetes watch + resourceVersion | de facto watch/sync protocol: list/watch, bookmarks, monotonic versioning | https://kubernetes.io/docs/reference/using-api/api-concepts/ | https://github.com/kubernetes/kubernetes |
I10 membership / presence | SWIM | canonical gossip membership and failure detection | https://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/SWIM.pdf | https://github.com/hashicorp/memberlist |
A14 realtime bidirectional transport | WebSocket | canonical persistent client/server transport for realtime apps | https://www.rfc-editor.org/info/rfc6455 | RFC / many implementations |
A14 lightweight pub/sub transport | MQTT | canonical lightweight publish/subscribe protocol, especially for constrained clients/devices | https://mqtt.org/mqtt-specification/ | https://github.com/eclipse-mosquitto/mosquitto |
I07 cache / origin delivery | HTTP Caching | canonical freshness, validators, revalidation, conditional requests | https://www.rfc-editor.org/info/rfc9111 | RFC / many implementations |
A01/A11/I07 delegated auth on APIs | OAuth 2.0 | canonical delegated authorization protocol | https://www.rfc-editor.org/info/rfc6749 | RFC / many implementations |
A01/A11/I07 identity on top of delegated auth | OpenID Connect | canonical identity layer over OAuth 2.0 | https://openid.net/specs/openid-connect-core-1_0.html | https://github.com/openid |
Best Canonical Set #
If you want the smallest strong study set, use this order:
OCI Distribution SpecGit wire protocol v2Kafka protocolRaftxDSKubernetes watch + resourceVersionSWIMWebSocketHTTP CachingOAuth 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:
A06inventory / constrained resourceA08time-bounded exclusive allocationA09future constraint + claimable runA10frontier + claimable runA12matching / assignmentA13ranking / leaderboardA17shared mutable subject
For those, the canonical study objects are usually:
- algorithms
- coordination models
- data structures
- implementation families
Examples:
A17->OT,CRDT, central sequencer modelA09-> timing wheel, due-index scanner, delayed queueA13-> top-k, sketches, windowed aggregation
Archetype-Focused Shortcuts #
If you are studying A18 #
Study in this order:
Git wire protocol v2OCI Distribution SpecHTTP Caching
Optional supporting study:
Kubernetes watch + resourceVersion
Why:
Gitteaches refs + immutable objectsOCIteaches manifests + blobs + namespace deliveryHTTP Cachingteaches validators and immutable-content fetch behavior
If you are studying A11 / I11 #
Study in this order:
xDSKubernetes watch + resourceVersion
Why:
xDSis the strongest purpose-built config distribution protocolKubernetes watchis the strongest de facto resource watch/sync model
If you are studying A14 #
Study in this order:
WebSocketMQTT
Why:
WebSocketis the mainstream client/server realtime transportMQTTis 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.