阳途教育为您的考证保驾护航

关于我们|网站公告|广告服务|联系我们| 网站地图

搜索
软件行业分类 软件工程师 系统分析师 系统架构师

架构师 道延:一下事和这件事背后的一些想法和思考

日期:2022/04/16 05:05作者:佚名人气:

导读:架构师是一个什么样的角色关于架构师的角色,我来说说自己的想法。架构其实是每个业务线都有,有些技术同学本身也是架构师的角色。但现在,阿里的架构师岗位逐渐增加了,他们的价值在于抽象这些技术问题,解决这些问题。架构师需要什么样的能力架构师需要什么样的能力?架构师一定会碰到各种各样的角色和链路,他要有这个能力去定义问题的解决方案和实施路径,同时要协同团队。架构师的挑战架构师一定要有技术的广度。...

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

我带着这个命题进入了商业平台,开始了背后的故事。本文将与大家分享一些关于这件事及其背后的想法,以及我对架构师的一些想法。

一、我对技术架构的理解

顶层设计

国家每五年有一个五年计划,这其实是国家整个层面非常明确的顶层建筑设计。在这里,国民经济重大建设项目和生产力的宏观建筑设计本质上是建筑设计。其中,非常明确地定义了要做什么,要达到什么样的结果,必须非常明确地定义。

双11保障也需要设计。双11本身就是一个商业活动。因为它的规模很大,所以需要很多技术来支持这个东西。在技​​术方面,我们可能会考虑低成本、高效率、高稳定性,我们需要引入更多的新技术来支持它们。我们还必须整合这些东西并设计架构,以便架构能够顺利支持业务。

物理架构

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

阿里目前单元化架构的目标是什么?通过异地部署,生产流量完全运行在千里之外的独立机房,从而持续运行业务。这几句话包含了很多重点,一是异地,二是千里之外,三是独立,四是延续。

单元化架构的总设计师是毕璇,因为我们的业务和单元化架构有很大的关系,所以我们必须充分把握和理解,才能往下走。

应用架构

目前在中台做的大部分都叫星环。星环架构的本质目的是将简单的代码共建模型抽象为横向和纵向的业务包模型,从而实现业务与业务隔离、业务与平台。隔离。

这背后的问题是什么?我们最初通过共建产生了会员、商品、交易、营销、资金、支付、库存逆向等业务,支撑了50多个BU。其实每一个都充满了if else,这就导致了代码的合并。难,开发也难,测试难,上线也难,整个过程很痛苦。所以2015年架构师,我在做星链架构的时候,就想让这些东西不那么痛苦,慢慢解决这些问题。

建筑师的角色是什么?

关于建筑师的角色,让我分享一下我的想法。

散而不散

事实上,每个业务线都有一个架构,一些技术专业的学生自己也是架构师。阿里曾经长期担任建筑师职位,专攻建筑,但如果他是建筑师,他就做不到。因为它非常没有根据,它不能解决具体的、真实的、实际的问题。但是现在,阿里巴巴的架构师职位在逐渐增加,他们的价值就在于将这些技术问题抽象出来并加以解决。所以第一点是保持身材。优秀的技术生一直在用架构的意识来解决实际的技术和业务问题,这与普通的技术生有着本质的区别。他不仅解决了这个问题,他可能会解决这种问题,用架构的思想来解决问题。

前瞻性

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

阿里巴巴的电商体系很早就建立起来了,我们这一代人在里面搭建了架构,都是站在上一代人的肩膀上的。想看看上一代为什么会这样设计,想一想或者跟他谈谈,向他学习。现在你可能会遇到新问题,通过其他方法解决一些新问题,这需要实践和知识的积累。

接触更多的人和事,用新的方法解决新的问题是非常重要的。你不能只看一个月的代码,而是找到真正的业务端,你的上游、下游和合作伙伴。比如双11,我是2016年12月来到商贸平台的,每年都用三个月的时间和双11的领导和重要人物聊天。他们怎么理解,他们怎么想,他们认为什么是错的。我再次向他们寻求建议:我该怎么办。只有在和他们聊天的过程中,我们才知道自己需要做什么样的宣传,有哪些要把握的重点,这些都是一些宝贵的财富。

解决复杂的问题

优秀的架构师解决复杂的问题。只有复杂的问题需要更多不同的技术或更新的技术才能彻底解决。高并发和高可用是阿里巴巴电商面临的基本问题,但架构师对于高并发和高稳定性应该有不同的解决方案。

目前最紧迫的问题,比如用户体验、提高效率、低成本等,其实是非常复杂的。很多同学都想解决这个问题,很多方法都在解决,但是总体效果不是特别明显。因为链接太长了,而且链接的长度代表了更多的受影响的商家和更多的人,你得换个思路去思考这个问题。同时,用户分层,内部技术人员增多,迫使我们将复杂的问题简单化,所以我将解决复杂问题定义为架构师的典型角色。

三个架构师需要什么技能?

建筑师需要什么技能?参考了外面一些同学的分享,得出的结论是,其实就是找问题,分析问题,定义问题,解决问题。

发现问题

既要对局部和全局问题有远见,更重要的是要有能力发现尚未发生的问题,哪些需要暂时处理,哪些需要治愈。这是发现问题的基本判断。现在系统可能没有大问题,但你必须有发现的眼光。如果这些问题不解决,未来业务可能会遇到更严重的问题。建筑师看待问题的方式与其他人不同。他们不仅看到了眼前的问题,还看到了这个问题的背后是什么,这一类问题的背后是什么,如何抽象地解决一类问题。想了想,先解决当前的问题,再抽象的解决其他问题。

火山口架构 x架构_架构师_arm架构和x86架构

定义和分析问题

阿里不缺能解决问题的学生,而是缺定义问题的学生。你怎么知道这是一个问题并清楚地定义它。需要对发现的问题进行抽象和总结,明确问题的基本要素,明确问题的短期和长期解决方案,从而促进技术的整体进步。

定义问题是非常苛刻的。在解决业务和技术问题时,每个人还需要具备分析和定义问题的能力。如果一个问题被明确定义架构师,它真的可以推动业务向前发展。

解决这个问题

解决问题需要实施路径和解决方案,协调团队和上下游,促进问题的解决。架构要解决的问题一定不是局部问题,而是全局问题。架构师肯定会遇到各种角色和环节。他必须有能力定义问题的解决方案和实现路径,同时他必须与团队合作。他不能低着头,他真的要抬头,他必须有良好的沟通能力,并与所有同学达成共识,才能继续前进。

第一点是沟通技巧非常重要。怎样才能把这个问题讲清楚,切中问题,同时帮助上下游带来实效。第二点是建筑师需要能够救火,但不仅要拯救当前的火灾,还要拯救未来的火灾。建筑师必须具备强大的消防能力。

来阿里之前,我在做一个CRM系统。后来要解决很多业务问题,不得不把它抽象出来,搭建业务问题下的基础平台。后来发现,如果基础平台的问题要解决得更彻底,下面的中间件是必须要做的,这样才能深入了解整个环节。

自从2017年来到业务平台,我学到了很多,包括它的系统链路是什么样的,它的数据链路是什么,整个调用链路是什么,它和底层的关系是什么?,你可能会遇到什么样的问题?现在可能会出现这个问题,以后运行时会不会出现其他问题。通过灭火的过程,一次次积累对系统的了解。所以,过去的每一次积累,对于解决当下的问题都有很大的帮助,每一次解决一个问题,都能让我对大局有了更深的认识。

四大建筑师挑战

全球视野

比如,当你看到“会员”这个业务功能时,不能只看到功能本身,需要看到会员上的业务是什么,谁在使用会员。这叫做全局。同时,会员使用的导购和交易最多,登录只是会员自己的一项小业务功能。根据会员,我们有导购和交易。通过将这些东西联系在一起,我们可以充分了解成员必须提供什么。我们必须有全球视野。

技术广度

阿里巴巴的技术特别复杂,能加入阿里巴巴,完整体验阿里巴巴整个技术栈的同学,真的是很了不起。以单元化架构为例,我们可能需要了解终端,包括iOS、、PC,以及CDN、网络、接入层、服务发现、服务路由、HSF等。数据库包括存储同步、多- 点写和消息中间件。这些技术和产品其实是学生平时在用的,但不仅仅是建筑师在用,建筑师也很想玩,把这些东西玩的透彻。这是关键点。

举个例子,数据库组件的强同步对我们后续的技术架构演进和业务提升有很大的影响。这个时候,大家对数据库的认识一定是全局的。

2009年数据库用的比较多,当时没做数据库相关的东西,但是为了深入研究数据库,学习了很多数据库相关的内容。了解里面的逻辑,知道它的开发状态、运行状态、管理状态等。知识是连续的,到了阿里巴巴,可能要花几个小时才能完全了解阿里巴巴目前的数据库。

技术的广度非常依赖积累。你必须考虑到你的问题。只有这个时候你才会有记忆,随着积累,你的技能的广度会逐渐变得越来越深。要想了解数据库,就必须了解底层网络,所以我们需要对网络和CDN有更好的了解。

2009 年,我花了大约两年的时间学习网络。对交换机、路由器、骨干网、城域网、运营商如何建网、自建IDC如何建网等有全面的了解。如何交互,为什么重传高?为什么延迟高,TCP/IP 4层以下的IP 3层是如何运作的,IP以下的MAC层是如何运作的,我们都需要进一步了解。

这些积累在灭火时最有价值。当我去灭火时,我根本没有使用基于平台的工具。我直接用TCP代码抓到了原帖,马上就能分析出很多问题。这是平时的积累,慢慢的你就会对大局有所了解。

2019年整个核心系统上云的时候,也和技术的广度有关。我们迁移到云端发生了什么?整个基地都上云了,计算、存储、网络都上云了,所以你需要了解云。2018年基本了解了阿里云的云产品,然后对阿里云的网络和技术有基本的了解。

架构师必须具有广泛的技术。每个人都要学会积累。积累到一定程度后,无师自通。比如你了解网络和数据库,然后你了解30%的磁盘。当这些知识逐渐成为一个系统时,你就有能力去消化和打通不同技术点背后的关联,提高你的个人能力和意识。升级是一个巨大的帮助。

持续学习

技术升级和变化无时无刻不在发生。只有不断学习,才能对旧架构有新的理解,对老问题产生新的解决方案。要了解行业最近发生了什么变化,该领域最关键的项目和人员在做什么,学习他们的技术,学习他们的论文。我过去每天学习大约 2 到 3 个小时。这几个小时的学习对我来说是最放松的时间,不用想太多。

学习不等于盲目学习,一定要系统。首先,关于你的工作,一定要系统地学习,从下往上,学习之后会有新的不同的认识。向您的团队和您的主管说出您的想法。

还要看论文。OLTP 和 OLAP 都有非常好的数据论文。读完论文,看看别人对论文的理解。一定要看到一些好的东西,你可以看任何与工作有关的东西,每天学习。每天花 2 到 3 个小时学习,三年后你就会知道自己和其他人完全不同。有人曾经说过:如果你能在一个行业投入一万个小时,你将与其他人有本质的不同。但在我们的领域,1000 小时会有所不同。

业务理解

这必须付诸实践。不是业务离不开架构,而是架构离不开业务。必须集成业务、架构和技术才能获得最佳结果。我们平时在学习和练习的过程中都会磨刀,但不能说每天都在磨刀,一定要用这把刀。这是与业务相结合,以不同的思路解决实际业务问题,从而带来更低的成本和更高的效率。

结果

要将技术进步转化为业务进步,别管它了。这个“忘掉屁股”就是你可以做很多你一个人做不到的事情。越复杂越大的事情,你需要和更多的人一起工作。如果你是自己做的事情,比如KPI,我告诉你,你可以做一两次,但是以后没有人会和你合作。你必须忘记你的屁股,才能慢慢地让这件事发生并真正达到你想要的结果。

遇山开路,遇水搭桥,这就是决心。很多时候问题真的很难解决,需要更多的人去协调。很多人可能会放弃。我们目前正在升级架构,使用国产芯片,从底层到全链路。如果一方不配合到位,此事将难以推进。从四月到七月底两次被封,第三次如果没有办法进行下去,这件事就彻底结束了。我们把整个团队聚集在一起,互相欢呼:必须完成。遇山开路,遇水搭桥,出了什么问题,大家一起解决。我们必须坚定和果断。

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2022 阳途网 版权所有 | 备案号:湘ICP备2022018839号-1

声明: 本站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告