主要观点:分享学习和审查分布式系统内部及协议的技巧和心态,包括背景学习、学习者/审查者心态、心理模型与抽象、写下来、避免自负、明确理解层次、测试理解与立场、制作模型、亲身体验以及克服分享恐惧等方面。
关键信息:
- 学习和审查不同,前者较易,后者需结合意见等更主观;两者相互交织,分享能促进理解。
- 背景学习要广泛阅读,从书到论文博客,先了解全貌再深入。
- 工程师应具备开放且批判的心态,审查系统时既要学习新方法,也要关注弱点。
- 利用抽象构建心理模型来理解复杂系统,通过写下来强化理解。
- 要保持谦逊,认识到自己可能存在错误,多与他人交流弥补不足。
- 测试理解可通过与他人分享、与系统设计者交流、制作模型等方式。
- 克服分享恐惧,以开放心态接受他人批评,展示成熟。
- 开始学习可从背景阅读和与工作相关的系统学习入手。
重要细节: - 阅读时遇到没经验的领域先看书,有经验的领域侧重工程论文和高质量博客。
- 早期接触 Jepsen 测试培养了健康的怀疑和批判思维。
- 构建心理模型时从高层开始,结合代码和与人交流。
- 写下来能帮助理解复杂系统,正式或非正式的评论方式皆可。
- 与系统设计者交流能测试理解,找出自己的错误。
- 制作模型能将被动理解转化为主动实现,发现理解的差距。
- 亲身体验系统能加深理解,如运行系统、查看日志等。
推荐阅读:可通过 Google 搜索找到分布式系统阅读列表,如[https://github.com/asatarin/t...],开始时可阅读[Database Internals],Martin Kleppmann 的[YouTube playlist]、[Data Intensive Applications]及博客,还有[Marc Brooker]、[Mahesh Balakrishnan]、[Phil Eaton]以及[Jepsen analyses]等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。