# Microservices 0. []() 0. [The seven deceptions of microservices](https://scottrogowski.com/the-seven-deceptions-of-microservices.html) # Synchronization 0. []() 0. [Braid: Synchronization for HTTP](https://braid.news/) 0. [The Braid Protocol: Synchronization for HTTP](https://tools.ietf.org/html/draft-toomim-braid-00) # Reference 0. []() 0. [The Art of Immutable Architecture](https://www.immutablearchitecture.com/) 0. [No more DSLs: Implement and deploy a distributed system with a single program](http://catern.com/integration.html) 0. [Ambients: Peer-to-Peer Programs and Data](https://ipfs.io/ipfs/QmPhPJE55GvqSz7Pwvkc8n9dbKmqGw6tUGTE1MgfNQvzsf) 0. [Bastion: Highly-available Distributed Fault-tolerant Runtime](https://bastion.rs/) 0. [DDD and Messaging Architectures: An overview of my different series on patterns in distributed systems.](http://verraes.net/2019/05/ddd-msg-arch/) 0. https://replicated.cc/ 0. http://www.the-paper-trail.org/post/2014-08-09-distributed-systems-theory-for-the-distributed-systems-engineer/ 0. https://courses.engr.illinois.edu/cs525/sp2018/index.html 0. https://arxiv.org/abs/1701.07615 0. http://proto.actor/ 0. https://blog.acolyer.org/2015/10/15/ironfleet-proving-practical-distributed-systems-correc/ 0. http://pythonsweetness.tumblr.com/post/165366346547/mitogen-an-infrastructure-code-baseline-that 0. https://github.com/heathermiller/dist-prog-book 0. https://lasp-lang.readme.io/ 0. https://speakerdeck.com/cmeiklejohn/practical-evaluation-of-the-lasp-programming-model-at-scale 0. http://bloom-lang.net/ 0. https://www.oreilly.com/ideas/scaling-a-startup-with-a-21st-century-language 0. https://github.com/grailbio/reflow 0. https://github.com/reactors-io/reactors 0. http://funcool.github.io/urania/latest/ 0. https://raft.github.io/ 0. https://github.com/ashwin153/caustic 0. http://prl.ccs.neu.edu/blog/2017/10/22/monotonicity-types-towards-a-type-system-for-eventual-consistency/ 0. http://www.swirlds.com/ 0. [Whip: Higher-Order Contracts for Modern Services](https://people.seas.harvard.edu/~chong/pubs/icfp17-whip.pdf &&& https://www.youtube.com/watch?v=phHrSC6pkXU) 0. https://channel9.msdn.com/Shows/On-NET/Orleans-onNET 0. [A Meta-EDSL for Distributed Web Applications](https://www.youtube.com/watch?v=Xzv6CfyXUdM) 0. https://en.wikipedia.org/wiki/Petriscript 0. [Fallacies of Distributed Computing Explained](http://www.rgoarchitects.com/Files/fallacies.pdf) 0. https://abhishek-tiwari.com/friends-dont-let-friends-build-data-pipelines/ 0. [Differential Synchronization](https://neil.fraser.name/writing/sync/) 0. https://medium.com/@mycoralhealth/why-blockchains-dont-suck-and-the-perils-of-distributed-databases-1a522cc7cfe1 0. [The Remote Monad](http://www.ittc.ku.edu/research/thesis/documents/justin_dawson_thesis.pdf) 0. https://blog.acolyer.org/2017/08/17/on-the-design-of-distributed-programming-models/ 0. https://twitter.com/ifesdjeen/status/1024775959961128961 0. https://sekniqi.com/blog/a-distributed-systems-primer-for-non-experts.html 0. [numpywren: serverless linear algebra](https://arxiv.org/abs/1810.09679) 0. https://hackernoon.com/a-thorough-introduction-to-distributed-systems-3b91562c9b3c 0. ["Towards Language Support for Distributed Systems" by Heather Miller](https://www.youtube.com/watch?v=IeBbiQZYmuY) 0. http://jepsen.io/ 0. [Think Local: Reducing Coordination and Improving Performance when Designing around Distributed State](https://vimeo.com/304106598) 0. [Introducing AMBROSIA: a new platform for reliable distributed applications without all the hassle](https://cloudblogs.microsoft.com/opensource/2018/12/13/introducing-ambrosia-new-platform-distributed-applications/) 0. https://distributedobjectprotocol.org/ 0. https://medium.com/bitfinex/introducing-svc-js-a-framework-for-grenache-7119f2d7769e 0. http://dbmsmusings.blogspot.com/2019/01/its-time-to-move-on-from-two-phase.html # Rate limiting 0. []() 0. https://blog.ably.io/how-adopting-a-distributed-rate-limiting-helps-scale-your-platform-1afdf3944b5a # Programming language 0. []() 0. [Choral: a choreographic programming language](https://www.choral-lang.org/) 0. ["Unison: a new distributed programming language" by Paul Chiusano](https://www.youtube.com/watch?v=gCWtkvDQ2ZI) 0. http://radicle.xyz/ 0. [Lambda World 2018 - Introduction to the Unison programming language - Rúnar Bjarnason](https://www.youtube.com/watch?v=rp_Eild1aq8) 0. https://www.infoq.com/presentations/language-design-process # Parallel commit 0. []() 0. [Parallel Commits: An Atomic Commit Protocol For Globally Distributed Transactions](https://www.cockroachlabs.com/blog/parallel-commits) # Two-phase commit 0. []() 0. https://shekhargulati.com/2018/09/05/two-phase-commit-protocol/ # Linearizability 0. []() 0. https://ristret.com/s/uqin9q/mild_generalization_linearizability 0. https://en.wikipedia.org/wiki/Vector_clock # Exemplar 0. []() 0. http://meshbird.com/ # Logical clock 0. []() 0. [Interval Tree Clocks](https://ferd.ca/interval-tree-clocks.html) 0. [Version Vectors are not Vector Clocks](https://haslab.wordpress.com/2011/07/08/version-vectors-are-not-vector-clocks/) 0. [Distributed Systems: Physical, Logical, and Vector Clocks](https://levelup.gitconnected.com/distributed-systems-physical-logical-and-vector-clocks-7ca989f5f780) 0. [The Bloom Clock](https://arxiv.org/pdf/1905.13064.pdf) 0. [Why Logical Clocks are Easy: Sometimes all you need is the right language.](https://queue.acm.org/detail.cfm?id=2917756) # Consensus protocol 0. []() 0. https://medium.com/s/story/lets-take-a-crack-at-understanding-distributed-consensus-dad23d0dc95 0. [Spectrum: A Framework for Adapting Consensus Protocols](https://arxiv.org/abs/1902.05873) # Locality 0. []() 0. [Think Local: Reducing Coordination and Improving Performance when Designing around Distributed State](https://vimeo.com/304106598) # Distributed transaction 0. []() 0. [Life beyond Distributed Transactions: an Apostate’s Opinion](http://adrianmarriott.net/logosroot/papers/LifeBeyondTxns.pdf)