82 | 程序员练级攻略:分布式架构经典图书和论文
陈皓
该思维导图由 AI 生成,仅供参考
你好,我是陈皓,网名左耳朵耗子。
经典图书
首先,我推荐几本分布式架构方面的经典图书。
Distributed Systems for fun and profit,这是一本免费的电子书。作者撰写此书的目的是希望以一种更易于理解的方式,讲述以亚马逊的 Dynamo、谷歌的 Bigtable 和 MapReduce 等为代表的分布式系统背后的核心思想。
Designing Data Intensive Applications,这本书是一本非常好的书,我们知道,在分布式的世界里,数据结点的扩展是一件非常麻烦的事。这本书深入浅出地用很多的工程案例讲解了如何让数据结点做扩展。作者马丁·科勒普曼(Martin Kleppmann)在分布式数据系统领域有着很深的功底,并在这本书中完整地梳理各类纷繁复杂设计背后的技术逻辑,不同架构之间的妥协与超越,很值得开发人员与架构设计者阅读。
这本书深入到 B-Tree、SSTables、LSM 这类数据存储结构中,并且从外部的视角来审视这些数据结构对 NoSQL 和关系型数据库的影响。这本书可以让你很清楚地了解到真正世界的大数据架构中的数据分区、数据复制的一些坑,并提供了很好的解决方案。最赞的是,作者将各种各样技术的本质非常好地关联在一起,令你触类旁通。
而且,这本书完全就是抽丝剥茧,循循善诱,从“提出问题”到“解决问题”、“解决方案”、“优化方案”和“对比不同的方案”,一点一点地把非常晦涩的技术和知识展开。本书的引用相当多,每章后面都有几百个 Reference,通过这些 Reference 你可以看到更为广阔、更为精彩的世界。
Distributed Systems: Principles and Paradigms ,本书是由计算机科学家安德鲁·斯图尔特·塔能鲍姆(Andrew S. Tanenbaum)和其同事马丁·范·斯蒂恩(Martin van Steen)合力撰写的,是分布式系统方面的经典教材。
语言简洁,内容通俗易懂,介绍了分布式系统的七大核心原理,并给出了大量的例子;系统讲述了分布式系统的概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错以及安全等;讨论了分布式应用的开发方法(即范型)。但本书不是一本指导“如何做”的手册,仅适合系统性地学习基础知识,了解编写分布式系统的基本原则和逻辑。中文翻译版为《分布式系统原理与范型》(第二版)。
这是一本免费的在线小册子,其中文翻译版 可扩展的 Web 架构和分布式系统。本书主要针对面向互联网(公网)的分布式系统,但其中的原理或许也可以应用于其他分布式系统的设计中。作者的观点是,通过了解大型网站的分布式架构原理,小型网站的构建也能从中受益。本书从大型互联网系统的常见特性,如高可用、高性能、高可靠、易管理等出发,引出了一个类似于 Flickr 的典型的大型图片网站的例子。
Principles of Distributed Systems ,本书是苏黎世联邦理工学院的教材。它讲述了多种分布式系统中会用到的算法。虽然分布式系统的不同场景会用到不同算法,但并不表示这些算法都会被用到。不过,作为学生来说,掌握了算法设计的精髓也就能举一反三地设计出解决其他问题的算法,从而得到分布式系统架构设计中所需的算法。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了分布式架构领域的经典图书和论文,涵盖了分布式系统的核心思想、数据存储结构、一致性算法等内容。左耳朵耗子推荐了多本经典图书,如《Designing Data-Intensive Applications》和《Distributed Systems: Principles and Paradigms》,适合开发人员和架构设计者阅读。此外,还介绍了一些重要的分布式系统论文,涉及分布式事务、一致性算法等关键内容。文章还提到了一些具体的算法和系统,如Amazon的DynamoDB和Gossip协议,以及分布式存储、消息系统、日志和数据分析等方面的论文和系统。总的来说,本文内容涵盖了分布式架构领域的重要理论知识,对于想深入了解分布式系统的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》,新⼈⾸单¥98
《左耳听风》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(25)
- 最新
- 精选
- 虎虎❤️这些论文和书读了有一半了,但是还是进不了分布式的门。因为全部是自己兴趣学的,没有相关开发经验。感觉找个分布式开发的工作挺难的。望指点迷津。2018-07-12248
- 💎A😂😂太高级了。前面几篇就够我实践几年了,这些完全看不来了,要不我们再谈谈人生理想。。2018-07-1615
- 周扬建议皓叔讲讲自己公司的开发,自动化测试,自动化部署,自动化运维的流程。2018-07-147
- 钱太棒了,够消化许多年了,幸好还年轻有时间和兴趣,英文要么是门槛,要么阶梯。2019-01-105
- 永夜涂鸦这些论文和书相当有内容。amazon dynamo那里有个笔误,dynamo和dynamodb是amazon的两个产品。dynamodb并没有用gossip协议,用的是master- replication方式2019-10-224
- 中山浪子靠自己兴趣学的分布式,假设读完上述的文章和书籍,在有了理论指导前提下,如何获取实际相关开发经验(最终目的是找个分布式开发的工作,前提是无分布式相关开发经验的小白)求耗叔指点…2018-07-133
- escray这些资料如果用心去找,一般人也能找到七七八八,但是可能没法像专栏里面整理的这么清楚、系统。如果你能“醍醐灌顶”皓叔脑子里的知识,哪怕知识“拷贝”一部分,那么也足够用来吃饭了。但是,谁都知道那是不可能的,而且“金手指”、“铁饭碗”,还有“鸡汤”,都没什么用,还是按着攻略慢慢打怪升级吧。 其中一些论文我之前也看过,但是真的看不太懂。一方面,上一篇中提到的入门资料我反而看的不多,可能缺少一些背景知识;另外,如果打算读论文的话,最好还是能找到一些相关的讨论,如果没有导师的话,那么在网络上可能也有交流的地方。 英语是门槛,能迈过去的话,就领先了至少一半的人。2020-10-312
- 小蛋壳在实际研发中,梳理需求,模型设计等是日常工作的常态,怎么提高这一块?2018-07-142
- ydp耗子老师,希望后面在讲讲,大数据和网络安全等内容。谢谢2018-07-132
- 慕容引刀果然对于编程最难的还是英文😂2018-07-122
收起评论