Skip to content
all episodes
Code of Architecture · episode 26

Distributed Systems — Episode 6

1:21:56

Episode participants

  • Alexey Kvak

    guest

Conversation

What we discussed on the recording

The sixth episode separates a name, identifier, and address. A name references an entity, an identifier distinguishes it uniquely, and an address exposes a changing location. Resolution either looks up an address in a table or routes the request toward the entity's current location.

For flat names, forwarding pointers and a home-based approach preserve a path to a moving entity. A Distributed Hash Table maps keys and nodes onto one ring. In Chord, a finger table replaces linear traversal with logarithmic lookup, while replication means resolution may return several valid locations.

Structured naming builds a namespace graph familiar from file systems. Mounting connects a local tree to remote NFS while hiding the machine boundary. DNS distributes zones and supports iterative or recursive resolution; caching speeds repeated queries, while DNSSEC and DNS over HTTPS address different integrity and privacy concerns.

Attribute-based naming searches by properties, as LDAP does, and needs distributed indexes for complex queries. Semantic overlays group nodes by content, while Named Data Networking and IPFS shift focus from host addresses to data names. In every model, convenient naming incurs routing, update, and directory consistency costs.

Book series
Distributed Systems
Maarten van Steen, Andrew S. Tanenbaum
Book playlist