Distributed System List




  • 2012-Concurrent Programming for Scalable Web Architectures #Book#: We examine the relations between concurrency, scalability and distributed systems and dare an outlook on the near future.

  • 2012-The Art of Multiprocessor Programming, Revised Reprint: The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming.

  • 2011-Özsu-Principles of Distributed Database Systems-3rd Edition #Book#: The first part discusses the fundamental principles of distributed data management and includes distribution design, data integration, distributed query processing and optimization, distributed transaction management, and replication. The second part focuses on more advanced topics and includes discussion of parallel database systems, distributed object management, peer-to-peer data management, web data management, data stream systems, and cloud computing.

  • 2017-Designing Data Intensive Applications #Book#: This book will help you navigate the diverse and fast-changing landscape of technologies for storing and processing data. DDIA 中文翻译

  • 2018-Programming Models for Distributed Computation #Book#: This is a book about the programming constructs we use to build distributed systems. These range from the small, RPC, futures, actors, to the large; systems built up of these components like MapReduce and Spark. We explore issues and concerns central to distributed systems like consistency, availability, and fault tolerance, from the lens of the programming models and frameworks that the programmer uses to build these systems.



  • The Twelve-Factor App: To raise awareness of some systemic problems we’ve seen in modern application development, to provide a shared vocabulary for discussing those problems, and to offer a set of broad conceptual solutions to those problems with accompanying terminology.

  • The System Design Primer #Collection#: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

  • awesome-shell: A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.

  • free-for-dev: A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev.

  • Cloud Native Landscape #Project#: Static Cloud Native Landscapes and Interactive Landscape that filters and sorts hundreds of cloud native projects and products, and shows details including GitHub stars, funding or market cap, first and last commits, contributor counts, headquarters location, and recent tweets.

  • 互联网公司经典技术架构 #Collection#: 互联网公司技术架构,微信/淘宝/腾讯/阿里/美团点评/百度/微博/Google/Facebook/Amazon/eBay 的架构


  • 2018-6.824: Distributed Systems: It will present abstractions and implementation techniques for engineering distributed systems.

  • 2018-MIT-6.824 #Course#: Distributed Systems Engineering, What is a distributed system?, etc.

  • PingCAP Talent Plan #Course#: This is a series of training courses about writing distributed systems in Go and Rust. It is maintained by PingCAP for training and/or evaluating students, new employees, and new contributors to TiDB and TiKV.


  • Fallacies of Distributed Computing

  • Distributed systems theory for the distributed systems engineer

  • FLP Impossibility Result

  • An introduction to distributed systems

  • Distributed Systems for fun and profit

  • Distributed Systems: Principles and Paradigms

  • Scalable Web Architecture and Distributed Systems

  • Principles of Distributed Systems

  • Making reliable distributed systems in the presence of software errors

Consistency & CAP

Eventually Consistency