目前的分布式系统,即使运行良好,也往往非常脆弱:难以维护、难以管理、难以扩展、难以演进、难以编程。在这次讨论中,我试图清理我们对这些系统的思考方式,并探讨几个问题,包括故障模型、高可用性、优雅降级、数据一致性、演进、组合和自治性。这些并非(尚未)可证明的原则,而仅是简化实践中设计的思考方式。它们借鉴了在伯克利和Inktomi建立的大规模系统的经验,包括处理全球50%网页搜索的系统。