Wednesday, December 2, 2015

A Distributed Systems Reading List



http://dancres.github.io/Pages/

Thought Provokers

Ramblings that make you think about the way you design. Not everything can be solved with big servers, databases and transactions.

Amazon

Somewhat about the technology but more interesting is the culture and organization they've created to work with it.

Google

Current "rocket science" in distributed systems.

eBay

Interesting they dumped most of J2EE and use a lot of db partitioning. Check out their site upgrade tool as well.

Consistency Models

Key to building systems that suit their environments is finding the right tradeoff between consistency and availability.

Theory

Papers that describe various important elements of distributed systems design.

Languages and Tools

Issues of distributed systems construction with specific technologies.

Infrastructure

Storage

Paxos Consensus

Understanding this algorithm is the challenge. I would suggest reading "Paxos Made Simple" before the other papers and again afterward.

Other Consensus Papers

Gossip Protocols (Epidemic Behaviours)

P2P

  • Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications
  • Kademlia: A Peer-to-peer Information System Based on the XOR Metric
  • Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems
  • PAST: A large-scale, persistent peer-to-peer storage utility - storage system atop Pastry
  • SCRIBE: A large-scale and decentralised application-level multicast infrastructure - wide area messaging atop Pastry
http://blog.jobbole.com/84575/

Thought Provokers

一些让你考虑你设计方式的随笔。不是所有事都可以靠大服务器,数据库和事物来解决的。

Amazon

有些有关的技术,但更有趣的是他们创造的与之配合的文化和结构。

Google

当前分布式系统领域的“火箭科学”(形容艰深的学问)

eBay

有趣的是他们抛弃了大多数的J2EE,并使用了大量的数据库分区。同时,看看他们的网站升级工具。

一致性模型

构建能够适应环境的系统的关键是寻求正确权衡一致性和可用性。

理论

一些描述了分布式系统设计中各种各样的重要因素的论文。

语言和工具

使用特定技术构建分布式系统的问题。

基础设施

存储

Paxos 一致性算法

理解这种算法是一个挑战。我建议在阅读其他论文之前先读读“Paxos Made Simple”,然后在读完其他论文之后,再读一遍。

其他一致性文章

Gossip 协议(传染行为)

P2P

  • Chord:一种针对互联网应用的可扩展的点对点查找协议。
  • Kademlia: 一种基于XOR的点对点信息系统
  • Pastry: 可扩展的,去中心化的对象位置和对大规模点对点系统的路由。
  • PAST: 一种大规模,持久化的点对点存储功能——Pastry上的存储系统
  • SCRIBE: 一个大规模且去中心化的应用层多播基础设施——Pastry上的广域消息系统。

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts