Few interesting articles recently on distributed systems:
- The Space Between Theory and Practice in Distributed Systems
- Distributed systems theory for the distributed systems engineer
Of particular interesting:
How you decide whether an event happened before another event in the absence of any shared clock. This means Lamport clocks and their generalisation to Vector clocks, but also see the Dynamo paper.
And then there is the coolness of state machines:
Distributed state machine replication (Wikipedia is ok, Lampson’s paper is canonical but dry).