加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长资讯 > 评论 > 正文

大公司技术体系谈架构

发布时间:2021-05-01 10:50:21 所属栏目:评论 来源:互联网
导读:么大部分工程师都无法成为优秀的架构师?做到纯精通 coding, 是否能成为***的架构师?如果你有这样的疑惑,就来听听蚂蚁高级测试开发专家懿泽怎么说。今天,懿泽跳出大型互联网公司技术体系,从通用角度,谈谈对架构的理解,相信对想成为优秀架构师的同学一定

么大部分工程师都无法成为优秀的架构师?做到纯精通 coding, 是否能成为***的架构师?如果你有这样的疑惑,就来听听蚂蚁高级测试开发专家懿泽怎么说。今天,懿泽跳出大型互联网公司技术体系,从通用角度,谈谈对架构的理解,相信对想成为优秀架构师的同学一定会有所启发。

依托丰富的中间件、成熟的框架,在大型互联网公司做开发还是比较便捷的。一线开发要做的是持续 CP(COPY、PASTE),不断从左边到右边的业务适配。什么样的架构师才能称得上好的架构师呢?他至少得亲自编写 OR 维护一个上百万行代码的产品,体验一下没有架构的痛苦。反复痛苦之后,才能深刻理解架构的好处,才会有架构意识,才能更快地提高。踩的坑多了,自然就懂得避坑了。

前瞻性

如何保持架构3-5年的领先?在实际项目中,经常见到有人把以前埋的坑填平,改个名字:XX 架构1.0 ➝ XX 架构2.0 ,就成了新架构了。然而,只是在原本有问题的架构上打了个补丁,架构在本质上并没有变化,旧坑未平,新坑不断。好的架构不是设计出来的,而是演进而来的。这就要求我们对技术保持敏感,时刻关注***的技术,时刻保持自己技术栈的先进性,配合公司中长期战略,并充分考虑未来几年业务的变化和发展。作为技术的***者,就要成为导演而非演员,有一个梦想和愿景,让大家都能自动 follow,保持情怀和信仰,并

 

不了解产品的架构师无异于闭门造车,无法产生实际的产业价值,因此,永远不要脱离产品,好的架构师要清楚地知道自己要选择什么,做什么,放弃什么。架构师通过业务目标作出自己的判断,并有所取舍,这一点非常重要,特别是当资源不足、进度紧张的时候,更要在关键时刻做决策,果断放弃部分内容。架构师大多数时候都满身污垢,能在其中保持初心,保持平衡并不容易。当日活只有个位数的时候,不要谈*** DAU 的架构。

领域建模

在边界清晰、耦合低、内聚高的情况下,各种改动带来的成本就会比较低,领域模型划分尽量保证业务的高内聚和低耦合,划定领域边界,保证一个业务逻辑尽量在一个领域模型内部,领域模型之间尽量减少业务来往,并保证一次业务流程涉及尽可能少的领域模型。复杂系统领域建模能力:特别是业务域边界划分的问题,业务域边界会直接决定架构中相关系统的边界,如果业务域边界没有整理清楚,那么系统边界也会因为模糊从而带来一系列的问题。

技术能力

技术能力是最硬核的,前面提到写业务代码要做的是持续 CP,并不是说业务代码没有含金量,写好业务代码是最基础的一步,在写好业务代码后,再一步一步,由浅入深,掌握设计模式、分布式、微服务化、性能优化,逐步熟悉并了解架构设计,然而架构之路是艰辛的、孤独的,注定需要付出更多。

技术能力也决定了架构的深度:操作系统、编译原理是最基础的知识,不管编程语言怎么发展,这些都是最 base 的,在迷茫时沉下心来反复看。当前主流的微服务架构,服务拆分粒度难以准确把握,需要遵循高内聚低耦合的基本原则,并清晰定义业务边界和数据接口,特别要避免过度设计。设计模式有一个共性,就是如何让程序设计巧妙、合理地应对未来各种大概率可能的变化,包括需求的变化,技术的变化等。docker 容器化能够将 SA 的经验标准化并固定下来,有别于传统虚拟机,它并不去虚拟任何硬件,而是对硬件资源在不同的 docker container 之间作了隔离。智能化依托大数据和算法,在解一些特定的业务场景有效果,但不可过度,放眼望去,现在很多产品和工具无不带着智能两字


不了解产品的架构师无异于闭门造车,无法产生实际的产业价值,因此,永远不要脱离产品,好的架构师要清楚地知道自己要选择什么,做什么,放弃什么。架构师通过业务目标作出自己的判断,并有所取舍,这一点非常重要,特别是当资源不足、进度紧张的时候,更要在关键时刻做决策,果断放弃部分内容。架构师大多数时候都满身污垢,能在其中保持初心,保持平衡并不容易。当日活只有个位数的时候,不要谈*** DAU 的架构。

领域建模

在边界清晰、耦合低、内聚高的情况下,各种改动带来的成本就会比较低,领域模型划分尽量保证业务的高内聚和低耦合,划定领域边界,保证一个业务逻辑尽量在一个领域模型内部,领域模型之间尽量减少业务来往,并保证一次业务流程涉及尽可能少的领域模型。复杂系统领域建模能力:特别是业务域边界划分的问题,业务域边界会直接决定架构中相关系统的边界,如果业务域边界没有整理清楚,那么系统边界也会因为模糊从而带来一系列的问题。

技术能力

技术能力是最硬核的,前面提到写业务代码要做的是持续 CP,并不是说业务代码没有含金量,写好业务代码是最基础的一步,在写好业务代码后,再一步一步,由浅入深,掌握设计模式、分布式、微服务化、性能优化,逐步熟悉并了解架构设计,然而架构之路是艰辛的、孤独的,注定需要付出更多。

技术能力也决定了架构的深度:操作系统、编译原理是最基础的知识,不管编程语言怎么发展,这些都是最 base 的,在迷茫时沉下心来反复看。当前主流的微服务架构,服务拆分粒度难以准确把握,需要遵循高内聚低耦合的基本原则,并清晰定义业务边界和数据接口,特别要避免过度设计。设计模式有一个共性,就是如何让程序设计巧妙、合理地应对未来各种大概率可能的变化,包括需求的变化,技术的变化等。docker 容器化能够将 SA 的经验标准化并固定下来,有别于传统虚拟机,它并不去虚拟任何硬件,而是对硬件资源在不同的 docker container 之间作了隔离。智能化依托大数据和算法,在解一些特定的业务场景有效果,但不可过度,放眼望去,现在很多产品和工具无不带着智能两字

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读