架构实战营毕业总结
抄的...占位
个人学习总结
在 2020 年,我曾经参加过极客大学推出的李智慧老师的架构师训练营,李智慧老师的课程更偏重于理论和方法,实战的内容不太多,需要自己好好的去领会每一次课。如果只是看一遍视频,不自己下来去琢磨的话,感觉没有学到太多,因为毕竟实践出真知,纸上得来终觉浅。2021 年初的时候,极客大学开始宣传李运华老师的架构实战营,当时还叫业务架构实战营。看完课表之后,我被每一次的实战案例吸引住了。看完课表,我相信架构实战营会是跟去年的架构师训练营不一样的,它应当更贴近实战,有更多案例的讲解,更多实际设计上的思考和取舍。事实也证明,这次的架构实战营确实不一样,干货比较多,尤其是老师自己的知识体系总结,还有实战的项目。老师总结出来的这些理论体系不但是给自己多年的工作经验一个交代,也是非常适合拿来学习和复用的,掌握之后能够迅速在工作中得以实施和验证。甚至到了课程后期,大家都已经习惯了遇到问题先谈复杂度,决策不定先看合适原则。
个人觉得架构实战营的一大特点就是每个模块的内容安排都先讲知识点,最后给出一个实战案例,再通过作业来亲自体验如何在架构设计过程中运用本模块的知识点。这样的教学方式使得知识点不再平淡而遥远,而是能够真正落地到实战中,学习过程中我也通过对实战案例的分析以及做作业过程中的思考,对知识点有了更深入的认识。并且在学习过程中,在老师的带动下,学会了深层次的思考,学会了去问问题。感觉最受用的就是面向复杂度进行架构设计,通过拆分、叠加和冗余法则明确架构设计,以合适、简单和演进为基准,筛选出合适的架构设计方案。
下面把自己觉得感受很深的一些知识点总结出来
如何成为优秀的架构师
对一两个技术方面具备非常深的专业知识和技术;
针对某个行业有着非常强的行业知识;
具备很好的倾听能力和沟通能力;
具备很强的解决问题,处理问题的能力。
4R 架构
软件架构是指软件系统的顶层结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)
面向复杂度架构设计
为什么需要做架构设计?从软件技术发展史看,核心原因是软件系统规模的增长,使得数据结构和算法不再是主要问题,整个系统的结构成为首要问题。面向复杂度的架构设计本质上是为了降低软件系统的复杂度,通过分析系统需求,找到系统复杂的地方,然后设计方案。通过识别复杂度的来源,如高性能、高可用、可扩展、安全等总结出架构模式,使用一定的套路降低这些复杂度,如分库分表、缓存、集群、分片、微服务、DDD 等等,设计步骤可通过架构设计环描述:
架构设计三原则
架构三原则即:合适原则,简单原则,演化原则
,用来指导决策。架构三原则个人理解其实就是统筹业务、资源、和时间,并做到收益最大化分配。
架构设计复杂度模型
复杂度分为业务复杂度和质量复杂度,前者主要体现为难以理解、难以扩展,如业务数量多、业务流程长、业务之间关系复杂;后者主要体现在对高性能、高可用、成本、安全等质量属性的要求,两者是正交的关系:
成长方法论
架构师的个人成长有以下三个重要因素:
架构思维:判断、取舍和创新。
能力:技术、业务和管理。
成长原则:复杂度和 10000 小时理论。
学习方法论
海绵学习法:时间就像海绵里面的水,挤挤总是有的。
Play 学习法:通过模拟实践中的场景来进行学习和训练。
Teach 学习法:通过给别人讲解来提升自己的理解。
链式学习法:自顶向下,逐步深入,一环扣一环。
比较学习法:横向比较同一个领域中类似的技术,梳理它们的异同,分析它们各自的优缺点和适用场景。
环式学习法:按照技术或者业务的维度,构建一个完整的闭环过程,将多个领域的“鱼”一网打尽。
架构师全方位总结
架构师是业务和技术之间的桥梁,不能只顾技术不懂业务。架构师需具备判断、拆解、取舍能力,需掌握确定性思维、创造性思维和系统性思维:
最后,虽然历时 4 个月的架构实战营结束了,但是学无止境,一定时时刻刻保持一颗谦卑和渴求的心,在架构之路上越走越好
评论