专栏名称: 51CTO技术栈
有趣 | 有料 | 有内涵,为您提供最优质的内容,愿我们一起悦享技术,成就人生。
目录
相关文章推荐
51好读  ›  专栏  ›  51CTO技术栈

阿里技术专家:如何成为顶尖架构师?

51CTO技术栈  · 公众号  · 程序员  · 2021-01-30 08:00

正文

送福利啦

关注 鸿蒙技术社区 ,回复 【鸿蒙】 送价值 399元 的鸿蒙 开发板套件 (数量有限,先到先得),还可以 免费下载 鸿蒙 入门资料


👇 扫码 立刻关注 👇

专注开源技术,共建鸿蒙生态


我叫道延, 2014 年加入阿里,在阿里通信工作了近两年。2016 年年底加入业务平台团队,当时 Leader 找我的第一件事就是要解决大促的问题,第二件事就是解决安全生产的问题。


图片来自 Pexels


我带着这个命题进入业务平台,开始了后面的故事。今天趁这个机会,和大家分享一下关于这件事和这件事背后的一些想法,以及我对架构师的一些思考。


01

我对技术架构的理解


顶层设计


国家每 5 年有五年计划,这其实就是在国家整个层面的一个非常清晰的顶层架构设计,这里面对国民经济重大建设项目和生产力进行宏观的架构设计,本质上也是一种架构设计。


在这里面,要做什么事要定义的非常清楚,要达到什么样的结果也要定义的非常清楚。


双 11 的保障也是需要设计的。双 11 本身是一个业务的活动事件,因为规模比较大,所以需要很多的技术来支撑这个东西。


技术里面我们可能要考虑低成本、高效率、高稳定,并且还要引入一些更多的新技术来支撑,也要把这些东西整合好,架构设计好,让架构可以流畅地支撑业务。


物理架构


我们有单元化架构,当然很多公司也有类似的架构。但是阿里的单元化架构与其他架构相比有一些本质的区别。


阿里目前单元化架构达到一个什么目标呢?通过部署异地单元将生产流量完整运行在千里之外的独立机房,从而连续性的运行业务。


这几句话里面包含了非常多的关键点:

  • 一个是异地

  • 第二个是千里之外

  • 第三个是独立

  • 第四个是连续性


单元化架构的总设计师是毕玄,因为我们这块业务跟单元化的架构非常相关,所以要对它完全掌握和吃透才能往下走。


应用架构


目前中台里面做的比较多的叫星环,星环想达到架构的本质目的是将单纯的代码共建模式,抽象成横向和纵向的业务包模式,做到业务与业务隔离,业务与平台隔离。


这背后带来的问题是什么?我们原来产生用共建的方式支撑了 50 多个 BU 的会员、商品、交易、营销、资金、支付、库存逆向等业务。


其实每个里面都是遍地开花的 if  else,这就导致代码的合并也难,开发也难,测试也难,上线也难,整个过程都很痛苦。


所以在 2015 年做星环的架构时,就是让这些东西不那么痛苦,慢慢的解决这些问题。


02

架构师角色


关于架构师的角色,我来说说自己的想法,如下图:

型散而神不散


架构其实是每个业务线都有,有些技术同学本身也是架构师的角色。


阿里很早以前是专门有架构师岗位,专门的去做架构,但是做着做着架构师就做没了。


因为很不接地气,它没有解决具体、真实、实际的问题。但现在,阿里的架构师岗位逐渐增加了,他们的价值在于抽象这些技术问题,解决这些问题。所以第一点是形散神不散。


优秀的技术同学一直在用架构的意识,解决实际的技术和业务问题,这就跟普通的技术同学有本质的区别。


他不光是解决这一个问题,他可能解决这一类问题,用架构的思想去解决问题。


前瞻性


为什么你能解决这个问题,并且能解决这一类问题?一定是需要你看的多,想的多,这背后是大量的实践和知识的积累,并且是站在过去的肩膀上。


阿里电商系统很早就建立了,我们这一代一代人在里面去做架构,都是站在前一代人的肩膀上。


要去看前一代人为什么要这么设计,去想或跟他去聊,吸取他好的地方。现在可能遇到新的问题,通过其他的方法来解决一些新的问题,需要有实践和知识的积累。


接触更多的人和事,用新方法解决新问题,这个很关键。不能只看代码看一个月,要找真实的业务方,你的上游、下游、合作伙伴。


比如说做双 11,我是 2016 年 12 月到业务平台,我花了整整三个月,跟每年双 11 的大队长、重要人去聊双 11。


他们是怎么理解,怎么来思考的,他们认为什么地方有问题。我再找他们要一些建议:我应该怎么去做。


跟他们聊的过程中才知道我们需要做什么样的大促,要把握什么是关键点,这都是一些宝贵的财富。


解决复杂问题


好的架构师都在解决复杂的问题。只有复杂的问题,它才需要更多不一样的技术或更新的技术来彻底解决。


高并发高可用是阿里电商面临的基本问题,但是架构师要有不一样的高并发和高稳定性的解决思路。


当前最紧急的问题,比如说用户体验、提升效率、低成本等,这些问题其实是非常复杂的。


很多同学都想解决这个问题,很多种方法都在解决,但是整体来说效果不是特别明显。


因为它链路太长了,链路长代表影响的业务和影响的人更多,你必须得换一种新的思路来考虑这个问题。


同时用户分层,内部的技术人员增多,这就倒逼我们去把复杂的问题简化,所以我会把解决复杂问题定义为架构师的一个典型角色。


03

架构师需要什么样的能力


架构师需要什么样的能力?我参考了外面一些同学的分享,






请到「今天看啥」查看全文