从 0 开始学架构
李运华
网名“华仔”,前阿里资深技术专家(P9)
152571 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 66 讲
结束语 (1讲)
结课测试 (1讲)
从 0 开始学架构
15
15
1.0x
00:00/06:22
登录|注册

开篇词 | 照着做,你也能成为架构师!

讲述:黄洲君大小:3.64M时长:06:22
掌握架构演进和开源系统使用技巧
掌握架构模式
掌握架构设计原则和流程
理解架构设计概念、本质、目的
理论和案例结合
常见架构模式
可扩展模式基本思想
高可用计算架构
高可用存储架构
FMEA分析方法
CAP原理
计算高性能
存储高性能
架构设计原则和流程
复杂度来源
学习收获
架构实战
可扩展架构模式
高可用架构模式
高性能架构模式
架构基础
高可用、高性能的要求
高大上的要求
创造力的要求
技术天分的要求
缺乏架构设计的指导
缺乏体系化的培训
逻辑和实现
判断和取舍
技术梦想实现
方法论
误区
培训和训练机制
思维差异
架构设计

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

每个程序员心中都有一个成为架构师的梦想,梦想是美好的,但道路是曲折的。
我大概在 2006 年开始参与架构设计,原本以为学习架构设计就像学习一门编程语言一样,先学习一下基本的语法,再研究一下细节和原理,然后实践一下就能够快速掌握。但真正实践后才发现,架构设计的难度和复杂度要高很多。从最早开始接触架构设计,到自我感觉初步完整掌握架构设计,至少花费了 6 年时间。等到自我感觉彻底掌握架构设计的精髓,至少花费了 8 年的时间(当然,这个过程中我不是一直在做架构设计)。
我曾经以为是自己天资愚笨才会这样,后来我带了团队,看到几乎每个程序员在尝试架构设计的时候,都面临着我曾经遇到过的各种困惑和瓶颈。特别是我作为职业等级晋升评委的时候,发现很多同学技术能力很强,业务也很不错,但却卡在了架构设计这部分。我意识到这应该不是个人天资的问题,而是架构设计本身的一些特性导致的。
我总结几个架构设计相关的特性:
1. 架构设计的思维和程序设计的思维差异很大。
架构设计的关键思维是判断和取舍,程序设计的关键思维是逻辑和实现很多程序员在转换为架构师后,很难一开始就意识到这个差异,还是按照写代码的方式去思考架构,会导致很多困惑。
2. 架构设计没有体系化的培训和训练机制。
大学的课程几乎没有架构设计相关的课程,架构设计的书籍更多的也只是关注某个架构设计点,没有体系化的架构设计书籍,导致程序员在学习上没有明确指导,只能自己慢慢摸索,效率低,容易踩坑。
3. 程序员对架构设计的理解存在很多误区。
例如:要成为架构师必须要有很强的技术天分;架构师必须有很强的创造力;架构设计必须要高大上才能体现架构师能力;架构一定要具备高可用、高性能……这些似是而非的误区让很多技术人员望而生畏,还没尝试就已经放弃了。
得益于移动互联网技术的快速发展,我在加入 UC 后有很多的机会直接参与架构设计,这些架构背后的业务形形色色,包括社交、电商、游戏、中间件、内部运营系统;用到的技术栈差异也比较大,包括 PHP,Java、C++ 等。虽然每次架构设计对我来说都是一个新的挑战,但正好也提供了非常好的机会,让我亲身体验不同的架构设计。在这个过程中,我不断学习、思考、实践、总结、改进、交流,逐步形成了自己的一套架构设计方法论
有了这套方法论后,首先,我自己在做架构设计的时候游刃有余,不管什么样的业务,不管什么样的技术,按照这套方法论都能够设计出优秀的架构。在职业等级面评的时候,就算我之前从来没有接触过对方的业务,也能快速理解对方描述的架构和发现其中做得好或者做得不好的地方;其次,在指导其他同事的时候效果明显。原来对架构设计比较迷茫的同学,通过几次结合案例进行的方法论培训,都能够很快地掌握这套方法论并在实践中应用。甚至有很多其他业务线的同学,遇到架构设计的困惑,也来找我交流和指导。
我是一个很喜欢分享的人,经常在 InfoQ 写文章、在知乎写回答,当看到别人在经过我的指导后恍然大悟甚至醍醐灌顶的那种神态,或者发自内心由衷感谢的时候,我自己也会很有成就感。我在极客时间的专栏《从 0 开始学架构》,将与你分享我的架构设计方法论,希望能够帮助更多怀揣架构师梦想的同学早日实现自己的梦想。
这个专栏涵盖了我的整套架构设计方法论和架构实践,主要包括以下内容。
架构基础:我会先介绍架构设计的本质、历史背景和目的,然后从复杂度来源以及架构设计的原则和流程来详细介绍架构基础。
高性能架构模式:我会从存储高性能、计算高性能方面,介绍几种设计方案的典型特征和应用场景。
高可用架构模式:我会介绍 CAP 原理、FMEA 分析方法,分析常见的高可用存储架构和高可用计算架构,并给出一些设计方法和技巧。
可扩展架构模式:我会介绍可扩展模式及其基本思想,分析一些常见架构模式。
架构实战:我会将理论和案例结合,帮助你落地前面提到的架构原则、架构流程和架构模式。
通过本专栏的学习,你会收获:
清楚地理解架构设计相关的概念、本质、目的,避免架构师在实践过程中把握不住重点、分不清主次,眉毛胡子一把抓,导致架构设计变形或者“四不像” 。
掌握通用的架构设计原则,无论是何种业务或技术,架构师在判断和选择的时候有一套方法论可以参考,避免架构设计举棋不定,或者拍脑袋式设计。
掌握标准的架构设计流程,即使是刚开始做架构设计的新手,也能够按照步骤一步一步设计出合适的架构,避免某些步骤缺失导致错误的架构设计。
深入理解已有的架构模式,做到能够根据架构特点快速挑选合适的模式完成架构设计,或者在已有的模式上进行创新,或者将已有的模式组合出新的架构。
掌握架构演进和开源系统使用的一些技巧。
好的开始是成功的一半,希望专栏的内容能够有效地帮助你更快地掌握架构设计的技巧,更好地设计出优秀的架构,实现自己心中的技术梦想!
毕竟,只要你努力,技术的梦想一定会实现!
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

成为一名架构师是许多程序员的梦想,但实现这一目标并不容易。一位经验丰富的架构师分享了他的八年成长经历,并总结了架构设计的特性和挑战。他指出,架构设计的思维与程序设计有着巨大的差异,缺乏体系化的培训和训练机制,以及存在许多关于架构设计的误区。然而,通过参与不同业务领域的架构设计实践,他逐步形成了自己的一套架构设计方法论。在专栏《从0开始学架构》中,他将分享这套方法论,包括架构基础、高性能架构模式、高可用架构模式、可扩展架构模式和架构实战。通过学习这个专栏,读者将能够清楚地理解架构设计的概念、掌握通用的架构设计原则和流程,深入理解已有的架构模式,并掌握架构演进和开源系统使用的技巧。这些内容将帮助读者更快地掌握架构设计的技巧,更好地设计出优秀的架构,实现自己的技术梦想。

2018-04-25378人觉得很赞给文章提建议

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学架构》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(238)

  • 最新
  • 精选
  • tim
    阿里巴巴p9分享的内容竟如此便宜,说忍痛的人是什么心态? 这些知识是很多人积累十几年甚至二十年都没发得来的!

    作者回复: 你懂我:) 我相信看完后大家都会惊呼:物超所值😊

    2018-04-25
    5
    149
  • DevelDog
    从我个人的工作经历来看,架构能力的获得是非常依赖于工作环境的,而大部分研发人员并没有这样的环境,所以很多经验和心得很容易沦为纸上谈兵,想问问老师怎么看待这个问题?

    作者回复: 任何能力的提升都离不开知行合一,架构设计也不例外。架构设计的行可以有多重方式:亲自负责一个系统的架构设计,这种机会最锻炼人,但不可能一个工程师从来没做过架构设计然后某天突然被委以重任,必须要先有一定的积累才会有这样的机会;第二种是参与某个系统的架构设计,在总架构师的指导下,负责其中一部分的设计;第三种就是在设计好的架构下进行开发,虽然没有亲自参与架构设计,但如果能理解和看懂架构设计,对开发本身也很有帮助,如果能看出和分析出架构存在的问题,那就是一个展现自己的机会。 因此,在没有进行架构设计的时候要做好“知”的储备,并尝试运用这些知识技能去分析和研究已有系统的架构,通过这种方式逐步积累和提升,等到真正有机会的时候,能够做到快速开始,快速把握机会,然后在实践中逐步提升自己的能力。

    2018-04-27
    4
    126
  • txsjava
    请问老师,我最近就遇到一个架构上的问题,向您请教一下思路。 问题大概是这样的:用户在操作一个按钮的时候,该按钮就是实现一个审核通过的功能,当用户点击审核通过,后台会执行一些方法,调用数据库给一些表添加数据,但是这其中需要执行很多操作,要调用很多方法,要需要大概10分钟左右改操作才能完成,但是用户不能等待10分钟啊,所以我们就在后台分步执行,就是异步操作,用户点击审核通过,我们返回用户操作成功,然后后台再执行接下来的操作, 这其中用户看不到,用户以为已经通过了,但是一些数据还没真正添加到数据库,导致用户到界面不能及时看到所有数据,只能过10分钟左右才能看到,请问这个该怎么设置才能让用户能体验更好。

    作者回复: 很简单呀,增加一个状态,叫“审核中”就可以了,审核通过后可以给用户发站内信,短信等提醒

    2018-11-05
    8
    49
  • 万里晴空
    架构师对我而言以前觉得很遥远,最近项目重构,我对业务的熟悉,看到架构师一步步设计出来,比之前的架构完全是另外一种状态。因此对架构师这个更加崇拜和追求!要求不高,只需要我以后走技术路不会太难就可以了……希望也能站在不同角度考虑问题!加油💪

    作者回复: 曾经的我也和现在的你类似,相信我的专栏能够让你如虎添翼,技术之路越走越宽😃

    2018-04-25
    20
  • 天津古董
    老师推荐几本认为比较经典书籍,我配合您的讲座阅读,谢谢!

    作者回复: 《UNIX编程艺术》

    2018-04-26
    12
  • Qing Wang
    毕业一两年的适合看吗?是不是经验浅了?

    作者回复: 如果是毕业一两年,你可以把这个课程当做架构设计入门课程,里面提到的架构设计本质,架构设计目的,架构设计原则,架构设计流程,模式等,都是非常精炼和通俗易懂的,是我从多个实践项目中总结和提炼出来的,已经剥离具体的业务背景,基本上毕业生也能看懂。 当然,如果毕业一两年经验,期望学完本专栏就能立刻开始复杂架构设计,确实不太可能,因为架构设计需要一定的积累,包括技术的积累和经验的积累。

    2018-04-27
    9
  • yhg
    我看课程的设计内容主要是针对这种互联网的后台设计,但是对于其它行业比如自动驾驶平台就不太适应,期待可以讲一些思考方式

    作者回复: 里面有架构设计原则,流程,技巧,都是通用的,例子是互联网的

    2018-04-25
    8
  • a煤炭
    可以希望我能,认真看完

    作者回复: 一定要认真看完,很多内容是独家的,你上网搜不到的

    2018-10-02
    6
  • 有恒
    2022年了,有同学吗?

    作者回复: 一直都有,我也一直在回复大家的疑问 :)

    2022-02-25
    2
    5
  • 飘逸的翔云
    华哥,请问你是如何规划时间去学习那么多东西的呢,总感觉没有完整的时间去系统地学习一门知识?

    作者回复: 你上网搜《大牛养成指南(3)- 天天写业务代码,如何成为技术大牛?》,我写的

    2019-12-25
    2
    5
收起评论
显示
设置
留言
99+
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部