Ten years ago I wrote a pair of articles for O'Reilly on distributed systems topologies: Part 1 and Part 2. I wrote them because a lot of people were confused about what "peer to peer" meant in system design and so I tried to classify various options for how computers could talk to each other to make a single system. The article holds up pretty well, even if a lot of the analysis seems embarrassingly naïve. We don't sweat the topological details so much anymore but I think there's an echo of these themes in the discussion of how various NoSQL data stores manage data availability and consistency.
  2011-12-28 20:18 Z