There are many good resources related to patterns in distributed systems. One of my favorite resources is found at Patterns of Distributed Systems and there is a recent book published. While the resource explains very well what problems are being solved and how to implement the pattern, here I am aiming to tie each pattern with the systems that leverage it.
Leases → (Memcache, Zanzibar, DynamoDB Paxos, Raft)
Cross-request adaptation → (Google Search, Zanzibar)
Request hedging → (Google Search, Meta Memcache, Zanzibar)
Replicate globally, and serve requests locally → (Zanzibar, Memcache, TaoDB)
Scatter-gather → (Elastic search, Search-engines)
Rate limiting techniques
Global total ordering → (Spanner, FoundationDB, CockroachDB)
Two-Phase Commit
Optimistic Concurrency Control (OCC)
Multiversion concurrency control (MVCC) → (Spanner, DynamoDB)
Gossip Protocol → (DynamoDB, Redis)
Peer-to-peer choreography
Hinted Handoff → (DynamoDB, Cassandra, ScyllaDB)
Push vs Pull protocol
Paxos & Multi-Paxos
Centralized vs Decentralized systems