左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家
180930 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 119 讲
左耳听风
15
15
1.0x
00:00/00:00
登录|注册

83 | 程序员练级攻略:分布式架构工程设计

各公司的架构实践
搜索方面
性能方面
日志方面
消息队列
缓存
数据库分布式
一致性哈希
弹性伸缩
分布式系统的故障测试
服务架构模式
容器化下的分布式架构设计模式
AWS云平台的设计模式
微软云平台Azure上的设计模式
Facebook的软件自动化和软件抽象经验教训
高扩展和高性能代码的工程原则
最终一致性的好文
微软Azure网站上的设计模式
弹力设计及其重要性
弹力设计实现快速和可容错网站架构
Netflix软件架构经验和原则分享
企业构建平台的四个关键事项
微软Windows Live服务平台经验总结
架构师之路
Google发展历史回顾
小结
设计与工程实践
设计模式
架构指导性文章和方法论
分布式架构工程设计

该思维导图由 AI 生成,仅供参考

你好,我是陈皓,网名左耳朵耗子。
要学好分布式架构,你首先需要学习一些架构指导性的文章和方法论,即分布式架构设计原则。下面是几篇很不错的文章,值得一读。
Designs, Lessons and Advice from Building Large Distributed Systems,Google 杰夫·迪恩(Jeff Dean)2009 年一次演讲的 PPT。2010 年,斯坦福大学请杰夫·迪恩到大学里给他们讲了一节课,你可以在 YouTube 上看一下,Building Software Systems At Google and Lessons Learned ,其回顾了 Google 发展的历史。
The Twelve-Factor App ,如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建 SaaS 应用提供了方法论,是架构师必读的文章。(中译版)这篇文章在业内的影响力很大,必读!
Notes on Distributed Systems for Young Bloods ,给准备进入分布式系统领域的人的一些忠告。
On Designing and Deploying Internet-Scale Services中译版),微软 Windows Live 服务平台的一些经验性的总结文章,很值得一读。
4 Things to Keep in Mind When Building a Platform for the Enterprise ,Box 平台 VP 海蒂·威廉姆斯(Heidi Williams)撰写的一篇文章,阐述了为企业构建平台时需要牢记的四件关于软件设计方面的事:1. Design Broadly, Build Narrowly; 2. Platforms Are Powerful and Flexible. Choose wisely what to expose when!;3. Build Incrementally, Get Feedback, and Iterate;4. Create a Platform-first Mentality。文章中有详细的解读,推荐看看。
Principles of Chaos Engineering ,我们知道,Netflix 公司有一个叫 Chaos Monkey 的东西,这个东西会到分布式系统里“瞎搞”,以此来测试系统的健壮和稳定性。这个视频中,Netflix 分享了一些软件架构的经验和原则,值得一看。
Building Fast & Resilient Web Applications ,伊利亚·格里高利克(Ilya Grigorik)在 Google I/O 2016 上的一次关于如何通过弹力设计来实现快速和可容错的网站架构的演讲,其中有好些经验分享。
Design for Resiliency ,这篇文章带我们全面认识“弹力(Resiliency)”,以及弹力对于系统的重要性,并详细阐述了如何设计和实现系统的弹力。
微软的 Azure 网站上有一系列的 Design Principle 的文章,你可以看看这几篇: Design for Self-healingDesign for Scaling OutDesign for Evolution
Eventually Consistent ,AWS CTO 维尔纳·沃格尔斯(Werner Vogels)发布在自己 Blog 上的一篇关于最终一致性的好文。
Writing Code that Scales ,Rackspace 的一篇很不错的博文,告诉我们一些很不错的写出高扩展和高性能代码的工程原则。
Automate and Abstract: Lessons from Facebook on Engineering for Scale ,软件自动化和软件抽象,这是软件工程中最重要的两件事了。通过这篇文章,我们可以看到 Facebook 的关于这方面的一些经验教训。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文总结了程序员在学习分布式架构设计时需要掌握的方法论、设计模式和工程实践。作者陈皓分享了一系列优质文章和资源,包括Google的发展历史回顾、微软和Netflix等公司的架构经验分享,以及分布式系统设计模式的学习网站和资料。此外,还介绍了故障测试、弹性伸缩、一致性哈希、数据库分布式和缓存等方面的实践经验和技术文章。这些内容涵盖了分布式架构设计的方方面面,为读者提供了全面的学习指南和实践参考。通过阅读这些文章,读者可以系统地了解分布式架构设计的原则、模式和工程实践,为提升自己的技术水平提供了宝贵的资源和指导。文章中还提供了大量有关消息队列、日志、性能和搜索方面的实践经验和技术文章,以及各公司的架构实践分享。这些内容丰富多彩,涵盖了分布式架构设计的方方面面,为读者提供了全面的学习指南和实践参考。文章内容丰富,涵盖了分布式架构设计的各个方面,对于想要深入了解分布式架构设计的读者来说,是一份宝贵的学习资料。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(36)

  • 最新
  • 精选
  • NonStatic
    吐槽只放链接的,一般自己是做不出这个链接列表的,更别说读完这些链接了。说句实在话,我花钱就是看耗子哥这个链接列表的!这里的链接列表能让我节省出用来找到和甄别哪片文章该读的学习时间,用来读更多的文章。 文章和书,就要读原始的那个。别人给你讲的都是他/她认为值得讲的,却不一定是你需要的。一个领域,入门的时候可以听听别人讲的,真到用的时候,只有自己读过原始资料才能给你你应该用到的细节。

    作者回复: 是的,读一手信息是最好的!

    2018-07-17
    2
    58
  • C_love
    看到很多人吐槽只有链接,其实个人感觉这才是精华。 现在很多知识网上都能找到,但信息过滤所消耗的时间和精力是极大的。有像耗子哥这样的过来人的指引,会极大的减少这样的消耗。 技术学习往往都是自我驱动,由内而外,只看别人的总结或者嚼过的食物一般都会比较片面。从技术的源头去学习才能真正领悟其中三味。很多人追求的总结分析,大多是术,但不是道。 不过每个人需求不同,新人往往更多对术的东西感兴趣,这也很正常。如果基本的coding尚未得心应手就去学习更底层或者更难的知识会感觉眼高手低。这也是耗子哥反复强调要把前面的基础打好,虽然基础部分只有几章内容,但真正融会贯通可是需要几年。只能说专栏目前的内容并不很适合新人。 所以大家先专注于适合自己的部分去学习就好啦

    作者回复: 是一个很踏实的人,坚持住✌🏻

    2018-07-18
    16
  • Milo
    越来越没意思了,就给个文章列表,花这个钱不值得了!

    作者回复: 谢谢批评,不过,这可是我精挑细选的文章列表啊,我已过滤了至少7成的信息了…… 这些文章都是含金量非常高的,仔细读一下,你会发现价值所在的,当然,你要打好前面的基础,否则学习这些东西,你的挫败感会很强的……

    2018-07-17
    2
    9
  • 又双叒叕是一年啊
    老师请问这些文章您是怎么找到能教教获取这种干货的方法吗?我觉得这个方法更有价值

    作者回复: 我后面会新开文章说的

    2018-07-19
    6
  • Field Li
    怎么说呢?虽然资料确实都是好的,但是可能很多人跟我一样更想看一些结合作者的理解的文章,或者纯粹作者自身加工的文章吧。而不是纯放些链接上去了,链接的内容很好,但是感觉还是有敷衍的嫌疑

    作者回复: 我当然可以写我理解后的,但我还是觉得大家应该去读第一手的资料,而不是他人消化过的。这样会更好。 我给的这些文章或者是书籍,讲得都很好了,你先看几篇吧,真的不需要二手的。😜

    2018-07-18
    6
  • 小鱼儿
    大部分都是英文版的,有对应中文版就更好了!

    作者回复: 在《程序修养篇》中说过:“必须指出,再往下走,有一个技能非常重要,那就是英文。如果对这个技能发怵的话,那么你可能无缘成为一个程序员高手了。因为我们所有的计算机技术全部来自于西方国家,所以如果你要想成为一个高手的话,那么必须到信息的源头去。英文的世界真是有价值的信息的集散地”,所以,非常建议你加强自己的英文能力!加油💪

    2018-07-17
    4
  • kuzan
    这些文章链接让读者自己找不知道要花多大力气,支持目前这种方法,希望老师不要改变,师父领进门 修行在个人,成长要靠自己去领悟的

    作者回复: 谢谢理解。的确花了很大力气并对比了相似文章,还做了好多筛选以让大家关注更重要的信息。 另外,我没有作更多的描述和说明,是希望大家能自己阅读,自己领悟,习惯吃第一手的食物,而不是被别人消化过的。 再次感谢理解!

    2018-07-18
    3
  • JasonYang
    每期都有在看,突然觉得标题过大,程序员练级攻略与进阶 这个话题太大了,看到后面更像是您对自身熟悉的技术领域的老生常谈,链接确实不错,干货满满,但是标题太大了,这么多程序员,好比不同期待的食客,他们期待 你有满汉全席 ,但是你并不完美,你只能做川菜或是粤菜,所以我想由于您的标题过大,总有一部分的人是不满意的,其实酷壳老版的练级攻略之所以所欢迎,一方面是免费指导,另一方面是对未来趋势的预判,第三就是亲切,而且实用,可能是老版太好,难免期待会有落差,其实我一开始挺期待你说 大家都会遇见的瓶颈或者疑问 如何高效的使用Google 或者其他软技能,因为这些东西具有普遍性,人人皆宜,话说回来,就是由于标题过大,你忙着把主线路说完,却忘了一些重要的东西

    作者回复: 文章开篇说过,这篇文章不是人人皆宜的,而且会是很吓人的,我就是要吓退那些想要速成的人。 另外,如你所说,我有我的局限,我能保证的不是面面俱到,而是主流技术,不至于让大家学完后没几年就废弃了。

    2018-07-17
    3
  • 我是李香兰小朋友
    耗子哥,可以提个意见吗?作为一个两年的工作经验的人,其实比较希望看到是某种技术的详细介绍或者某个知识点的详细理解,或者是一些工作上的技术选型的一些经验,你最近这几篇文章都是介绍一些书籍资料,感觉对我来说帮助不大,我可以自己去找啊,希望耗子哥理解!

    作者回复: 最近几篇文章里的那些引用文章,你看了么?都是,技术的深度介绍和深度理解,同样包括技术比较。另外,作为一个两年工作经验的人,最近这几篇文章中罗列的这些技术文章对你来说太深了,你可能看不懂。 另外,在高手篇开篇的时候我说过了—— 我假设你在前面已经打下了非常扎实的基础,但是要成为一个高手,基础知识只是一个地基,你还需要很多更为具体的技术。对我来说,就是看各种各样的文章、手册、论文、分享…… 其实,学习到一定程度,就是要从书本中走出去,到社区里和大家一起学习,而且还需要自己找食吃了。所以,对于这里面的文章,有很多都是在罗列各种文章和资源,只是为你梳理信息源,而不是喂你吃饭。 老实说,我已经为你梳理并过滤掉了很多的信息,这里只留下了 30% 我觉得最经济也最有价值的信息。虽然对于不同定位和不同需求的人还可以再对这些信息进行删减,但是觉得我这么一做就会对其它人不公平了。所以,这也是我觉得最小数量集的信息和资源吧。你也可以把我这里的东西当成一个索引来对待。

    2018-07-17
    3
  • 斯盖丸
    耗子叔,您好。最近在看您推荐的经典书了。有个很古老的问题,这些书里大量的代码要背下来吗,如果不需要,那这些代码需要掌握到什么程度才算过关,谢谢。

    作者回复: 不要背,要了解原理,然后自己按自己的思路实现一下。我后面会有如何学习的文章,敬请期待。

    2018-07-18
    1
收起评论
显示
设置
留言
36
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部