跳出大公司技术体系谈架构
极客时间编辑部
讲述:杜力大小:1.76M时长:03:50
很多人都有这样的疑问,为什么大部分工程师都无法成为优秀的架构师?做到纯精通 coding, 是否能成为一流的架构师呢?近日,蚂蚁高级测试开发专家懿泽发文,他跳出大型互联网公司技术体系,从通用角度,谈了谈对架构的理解。
那什么样的架构师才能称得上好的架构师呢?他至少得亲自编写 OR 维护一个上百万行代码的产品,体验一下没有架构的痛苦。反复痛苦之后,才能深刻理解架构的好处,才会有架构意识,才能更快地提高。懿泽认为优秀架构师需要具备五个方面的能力。
1. 前瞻性
如何保持架构 3-5 年的领先?在实际项目中,经常有开发者将架构的问题修复,并重新命名,就当成新架构使用。然而,这只是在“打补丁”,架构在本质上并没有变化。要知道好的架构不是设计出来的,它是演进而来的。这就要求架构师对技术保持敏感,时刻关注最新的技术,保持自己技术栈的先进性,并结合公司中长期战略,充分考虑未来几年业务的变化和发展。因此,作为技术的引领者,要成为导演而非演员,有一个梦想和愿景,保持情怀和信仰,并勇于创新,让团队成员自动跟随。
2. 懂产品
不了解产品的架构师无异于闭门造车,无法产生实际的产业价值。因此,永远不要脱离产品,好的架构师要明确自己选择什么,做什么,放弃什么。架构师需要通过业务目标作出自己的判断,并有所取舍。特别是当资源不足、进度紧张时,果断作出决策。另外,架构师在大多时候都是满身污垢,能够保持初心,保持平衡并不容易。当日活只有个位数的时候,不要谈千万级 DAU 的架构。
3. 领域建模
在边界清晰、耦合低、内聚高的情况下,改动成本就会降低。所以领域模型划分尽量保证业务的高内聚和低耦合,划定领域边界,保证一个业务逻辑尽量在一个领域模型内,领域模型之间尽量减少业务来往,并保证一次业务流程涉及尽可能少的领域模型。特别是遇到业务域边界划分的问题时,业务域边界会直接决定架构中相关系统的边界,如果业务域边界没有整理清楚,那么系统边界也会因为模糊进而带来一系列的问题。
4. 技术能力
一方面,技术能力是最硬核的。写好业务代码是最基础的一步,在这之后,由浅入深,掌握设计模式、分布式、微服务化、性能优化,逐步熟悉并了解架构设计。架构之路是艰辛的、孤独的,注定需要付出更多。
另一方面,技术能力决定了架构的深度。对此建议反复巩固基础知识,不管编程语言怎么发展,操作系统、编译原理都是最基础的知识。
5. 工匠精神
一个优秀的架构必须具备高可用、高性能的特点,以解决互联网架构中高并发和高可用的问题,这一点,最能体现架构师的工匠精神。架构师在架构设计之初就应该考虑容灾能力、资损防控、自愈能力等。系统上线前需要进行各种调优,比如性能调优、WEB 调优、强弱依赖治理等,并通过主动发现手段如全链路压测、容灾演练、资损演练等发现架构 OR 设计不合理的地方。优秀的架构不是设计出来的,而是在打磨的过程中演进而来的。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 20纸上谈兵1
- 细雨平湖高手!
- 加菲猫大公司架构几乎都是根据业务需求演化而来,都有历史沉淀,我们可以借鉴到经验
- 旭东(Frank)就以最后一条就可刷掉许多所谓的"架构师"。现在的大公司的部分架构师耍嘴皮子得多,干实事少。脱离群众,脱离业务搞形而上学的东东
收起评论