左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家,骨灰级程序员
立即订阅
40357 人已学习
课程目录
已完结 108 讲
0/6登录后,你可以任选6讲全文学习。
开篇词 | 洞悉技术的本质,享受科技的乐趣
免费
01 | 程序员如何用技术变现(上)
02 | 程序员如何用技术变现(下)
03 | Equifax信息泄露始末
04 | 从Equifax信息泄露看数据安全
05 | 何为技术领导力?
06 | 如何才能拥有技术领导力?
07 | 推荐阅读:每个程序员都该知道的知识
08 | Go语言,Docker和新技术
09 | 答疑解惑:渴望、热情和选择
10 | 如何成为一个大家愿意追随的Leader?
11 | 程序中的错误处理:错误返回码和异常捕捉
12 | 程序中的错误处理:异步编程以及我的最佳实践
13 | 魔数 0x5f3759df
14 | 推荐阅读:机器学习101
15 | 时间管理:同扭曲时间的事儿抗争
16 | 时间管理:如何利用好自己的时间?
17 | 故障处理最佳实践:应对故障
18 | 故障处理最佳实践:故障改进
19 | 答疑解惑:我们应该能够识别的表象和本质
20 | Git协同工作流,你该怎么选?
21 | 分布式系统架构的冰与火
22 | 从亚马逊的实践,谈分布式系统的难点
23 | 分布式系统的技术栈
24 | 分布式系统关键技术:全栈监控
25 | 分布式系统关键技术:服务调度
26 | 分布式系统关键技术:流量与数据调度
27 | 洞悉PaaS平台的本质
28 | 推荐阅读:分布式系统架构经典资料
29 | 推荐阅读:分布式数据调度相关论文
30 | 编程范式游记(1)- 起源
31 | 编程范式游记(2)- 泛型编程
32 | 编程范式游记(3) - 类型系统和泛型的本质
33 | 编程范式游记(4)- 函数式编程
34 | 编程范式游记(5)- 修饰器模式
35 | 编程范式游记(6)- 面向对象编程
36 | 编程范式游记(7)- 基于原型的编程范式
37 | 编程范式游记(8)- Go 语言的委托模式
38 | 编程范式游记(9)- 编程的本质
39 | 编程范式游记(10)- 逻辑编程范式
40 | 编程范式游记(11)- 程序世界里的编程范式
41 | 弹力设计篇之“认识故障和弹力设计”
42 | 弹力设计篇之“隔离设计”
43 | 弹力设计篇之“异步通讯设计”
44 | 弹力设计篇之“幂等性设计”
45 | 弹力设计篇之“服务的状态”
46 | 弹力设计篇之“补偿事务”
47 | 弹力设计篇之“重试设计”
48 | 弹力设计篇之“熔断设计”
49 | 弹力设计篇之“限流设计”
50 | 弹力设计篇之“降级设计”
51 | 弹力设计篇之“弹力设计总结”
52 | 管理设计篇之“分布式锁”
53 | 管理设计篇之“配置中心”
54 | 管理设计篇之“边车模式”
55 | 管理设计篇之“服务网格”
56 | 管理设计篇之“网关模式”
57 | 管理设计篇之“部署升级策略”
58 | 性能设计篇之“缓存”
59 | 性能设计篇之“异步处理”
60 | 性能设计篇之“数据库扩展”
61 | 性能设计篇之“秒杀”
62 | 性能设计篇之“边缘计算”
63 | 区块链技术的本质
64 | 区块链技术细节:哈希算法
65 | 区块链技术细节:加密和挖矿
66 | 区块链技术细节:去中心化的共识机制
67 | 区块链技术细节:智能合约
68 | 区块链技术 - 传统金融和虚拟货币
69 | 程序员练级攻略:开篇词
70 | 程序员练级攻略:零基础启蒙
71 | 程序员练级攻略:正式入门
72 | 程序员练级攻略:程序员修养
73 | 程序员练级攻略:编程语言
74 | 程序员练级攻略:理论学科
75 | 程序员练级攻略:系统知识
76 | 程序员练级攻略:软件设计
77 | 程序员练级攻略:Linux系统、内存和网络
78 | 程序员练级攻略:异步I/O模型和Lock-Free编程
79 | 程序员练级攻略:Java底层知识
80 | 程序员练级攻略:数据库
81 | 程序员练级攻略:分布式架构入门
82 | 程序员练级攻略:分布式架构经典图书和论文
83 | 程序员练级攻略:分布式架构工程设计
84 | 程序员练级攻略:微服务
85 | 程序员练级攻略:容器化和自动化运维
86 | 程序员练级攻略:机器学习和人工智能
87 | 程序员练级攻略:前端基础和底层原理
88 | 程序员练级攻略:前端性能优化和框架
89 | 程序员练级攻略:UI/UX设计
90 | 程序员练级攻略:技术资源集散地
91 | 程序员面试攻略:面试前的准备
92 | 程序员面试攻略:面试中的技巧
93 | 程序员面试攻略:面试风格
94 | 程序员面试攻略:实力才是王中王
95 | 高效学习:端正学习态度
96 | 高效学习:源头、原理和知识地图
97 | 高效学习:深度,归纳和坚持实践
98 | 高效学习:如何学习和阅读代码
99 | 高效学习:面对枯燥和量大的知识
左耳听风
登录|注册

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

陈皓,杨爽 2018-07-17
要学好分布式架构,你首先需要学习一些架构指导性的文章和方法论,即分布式架构设计原则。下面是几篇很不错的文章,值得一读。
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/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《左耳听风》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(26)

  • NonStatic
    吐槽只放链接的,一般自己是做不出这个链接列表的,更别说读完这些链接了。说句实在话,我花钱就是看耗子哥这个链接列表的!这里的链接列表能让我节省出用来找到和甄别哪片文章该读的学习时间,用来读更多的文章。

    文章和书,就要读原始的那个。别人给你讲的都是他/她认为值得讲的,却不一定是你需要的。一个领域,入门的时候可以听听别人讲的,真到用的时候,只有自己读过原始资料才能给你你应该用到的细节。

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

    2018-07-17
    17
  • 二胡1999
    回答Roger同学的问题:一直都有网页版啊。
    所有专栏列表地址:
    https://time.geekbang.org/columns
    2018-07-17
    8
  • C_love
    看到很多人吐槽只有链接,其实个人感觉这才是精华。

    现在很多知识网上都能找到,但信息过滤所消耗的时间和精力是极大的。有像耗子哥这样的过来人的指引,会极大的减少这样的消耗。

    技术学习往往都是自我驱动,由内而外,只看别人的总结或者嚼过的食物一般都会比较片面。从技术的源头去学习才能真正领悟其中三味。很多人追求的总结分析,大多是术,但不是道。

    不过每个人需求不同,新人往往更多对术的东西感兴趣,这也很正常。如果基本的coding尚未得心应手就去学习更底层或者更难的知识会感觉眼高手低。这也是耗子哥反复强调要把前面的基础打好,虽然基础部分只有几章内容,但真正融会贯通可是需要几年。只能说专栏目前的内容并不很适合新人。

    所以大家先专注于适合自己的部分去学习就好啦

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

    2018-07-18
    6
  • Roger
    发了这么多链接手机上很难看啊,什么时候有pc或者web端
    2018-07-17
    6
  • 李春霖
    应该会有很多人意识不到高价值信息索引意味着什么…… 收录的这些文章估计够我消化几年的了,支持耗子哥坚持下去!
    2018-07-18
    5
  • Milo
    越来越没意思了,就给个文章列表,花这个钱不值得了!

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

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

    作者回复: 最近几篇文章里的那些引用文章,你看了么?都是,技术的深度介绍和深度理解,同样包括技术比较。另外,作为一个两年工作经验的人,最近这几篇文章中罗列的这些技术文章对你来说太深了,你可能看不懂。

    另外,在高手篇开篇的时候我说过了——

    我假设你在前面已经打下了非常扎实的基础,但是要成为一个高手,基础知识只是一个地基,你还需要很多更为具体的技术。对我来说,就是看各种各样的文章、手册、论文、分享…… 其实,学习到一定程度,就是要从书本中走出去,到社区里和大家一起学习,而且还需要自己找食吃了。所以,对于这里面的文章,有很多都是在罗列各种文章和资源,只是为你梳理信息源,而不是喂你吃饭。

    老实说,我已经为你梳理并过滤掉了很多的信息,这里只留下了 30% 我觉得最经济也最有价值的信息。虽然对于不同定位和不同需求的人还可以再对这些信息进行删减,但是觉得我这么一做就会对其它人不公平了。所以,这也是我觉得最小数量集的信息和资源吧。你也可以把我这里的东西当成一个索引来对待。

    2018-07-17
    2
  • 三杯酒量
    为什么全是国外的,国内互联网公司现在也很厉害了,为啥不放点国内的
    2019-05-10
    1
  • 涛哥迷妹
    老师请问这些文章您是怎么找到能教教获取这种干货的方法吗?我觉得这个方法更有价值

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

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

    作者回复: 我当然可以写我理解后的,但我还是觉得大家应该去读第一手的资料,而不是他人消化过的。这样会更好。

    我给的这些文章或者是书籍,讲得都很好了,你先看几篇吧,真的不需要二手的。😜

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

    作者回复: 文章开篇说过,这篇文章不是人人皆宜的,而且会是很吓人的,我就是要吓退那些想要速成的人。

    另外,如你所说,我有我的局限,我能保证的不是面面俱到,而是主流技术,不至于让大家学完后没几年就废弃了。

    2018-07-17
    1
  • mason
    这个专栏的知识富集度相当之高,从另一种角度来讲也是帮我节省找资料和甄别资料的时间。虽然才两年的开发经验,但是并不满足常规业务迭代,平时也看了经典巨作,但是远远没这里面系统和详细,够消化好几年了。
    对于想《xx天入门到精通》可能要失望了
    2019-11-06
  • godtrue
    二话不说,一睹为快。
    2019-01-10
  • 建斌郭子
    补充说明,这些链接的价值在于,当你把这些链接里的内容全都看完后,你才会觉得不再需要这篇文章了。陈皓老师(没错,我认为的良师+高师)给了我们一个梯子,对我们来说,最好的做法是先沿着梯子爬过去,看看外面的世界,而不是纠结梯子好不好看
    2018-10-14
  • TomnyYear
    为什么写了那么多篇,没有讨论如何测试分布式的。还有代码级别的测试?

    作者回复: 没有,sorry,以后补上

    2018-08-22
  • 于曦程
    耗子哥能单独讲讲搜索引擎吗
    2018-08-02
  • 小破
    耗子叔的文章应该能看好些年了。😳
    2018-07-28
  • ricktian
    这些学习资料库的价值远远超过一两篇原创文!大力点赞!
    2018-07-25
  • sipom
    多谢,获益良多!耗子哥,除了资料还能再增加些您多年来工作中的实战经验体会吗?比如分布式架构设计、应用架构设计等方面的。谢谢!

    作者回复: 前面的几个分布式系列的文章都有的

    2018-07-20
收起评论
26
返回
顶部