前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >图解:在资深架构师眼中的架构应该是怎样的?

图解:在资深架构师眼中的架构应该是怎样的?

原创
作者头像
技术zhai
发布于 2018-05-18 13:10:44
发布于 2018-05-18 13:10:44
1.1K0
举报
文章被收录于专栏:JAVA技术zhaiJAVA技术zhai

我对架构定义的理解

大概在7~8年前,我曾经有一个美国对口的架构师导师,他对我讲架构其实是发现利益相关者(stakeholder),然后解决他们的关注点(concerns),后来我读到一本书《软件系统架构:使用视点和视角与利益相关者合作》,里面提到的理念也是这样说:系统架构的目标是解决利益相关者的关注点。

这是从那本书里头的一张截图,我之前公司分享架构定义常常用这张图,架构是这样定义的:

  1. 每个系统都有一个架构
  2. 架构由架构元素以及相互之间的关系构成
  3. 系统是为了满足利益相关者(stakeholder)的需求而构建的
  4. 利益相关者都有自己的关注点(concerns)
  5. 架构由架构文档描述
  6. 架构文档描述了一系列的架构视角
  7. 每个视角都解决并且对应到利益相关者的关注点。

架构系统前,架构师的首要任务是尽最大可能找出所有利益相关者,业务方,产品经理,客户/用户,开发经理,工程师,项目经理,测试人员,运维人员,产品运营人员等等都有可能是利益相关者,架构师要充分和利益相关者沟通,深入理解他们的关注点和痛点,并出架构解决这些关注点。

架构师常犯错误是漏掉重要的利益相关者,沟通不充分,都会造成架构有欠缺,不能满足利益相关者的需求。利益相关者的关注点是有可能冲突的,比如管理层(可管理性)vs技术方(性能),业务方(多快好省)vs 技术方(可靠稳定),这需要架构师去灵活平衡,如何平衡体现了架构师的水平和价值。

关于架构的第二点定义是说架构主要关注非功能性需求(non-functional requirements),即所谓的-abilities。

这个是我上次公司内分享的一个图。

这个是slideshare一个ppt里头截取的,两个图都是列出了架构的非功能性关注点;关于架构的水平该如何衡量,去年我看到一句话,对我影响很大。

Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.

翻译为中文就是,架构表示对一个系统的成型起关键作用的设计决策,架构定系统基本就成型了,这里的关键性可以由变化的成本来决定。这句话是Grady Booch说的,他是UML的创始人之一。

进一步展开讲,架构的目标是用于管理复杂性、易变性和不确定性,以确保在长期的系统演化过程中,一部分架构的变化不会对架构的其它部分产生不必要的负面影响。这样做可以确保业务和研发效率的敏捷,让应用的易变部分能够频繁地变化,对应用的其它部分的影响尽可能的小。

我刚入软件开发这个行业之初,谈的架构主要是性能,高可用等等。现在,见过无数遗留系统,特别是国内企业IT的现状,无数高耦合的遗留系统,不良的架构像手铐一样牢牢地限制住业务,升级替换成本非常巨大, 所以我更加关注可理解,可维护性,可扩展性,成本 。我想补充一句,创业公司创业之初获得好的架构师或技术CTO非常重要。

架构的迭代和演化性

我是属于老一代的架构师,99年参加工作。职业初学了很多RUP,统一软件过程的理念。RUP的理念对我的架构有很深的影响,RUP总结起来就是三个特点:

  1. 用例和风险驱动Use Case and risk driven
  2. 架构中心Architecture centric
  3. 迭代和增量Iterative and incremental

RUP很注重架构,提倡以架构和风险驱动,项目开始一定要做端到端的原型(prototype);通过压测验证架构可行性,然后在原型基础上持续迭代和增量式开发,开发->测试->调整架构->开发,循环,如下图所示:

从上图可以看出架构师要尽可能写代码,做测试,纸上谈兵式做架构而后丢给团队的作法非常不靠谱(除非是已经非常清晰成熟的领域)。另外,做技术架构的都有点完美主义倾向,一开始往往喜欢求大求全,忽视架构的演化和迭代性,这种倾向易造产品和用户之间不能形成有效快速的反馈,产品不满足最终用户需求,继续看下面两个图:

第一个图是讲最小可用产品(Minimum Viable Product, MVP)理念,做出最小可用产品,尽快丢给用户试用,快速获取客户反馈,在此基础上不断迭代和演化架构和产品。

第二个图是过度工程(Over Engineering)的问题,其实也是讲产品架构和用户之间没有形成有效的反馈闭环,架构师想的和客户想的不在一个方向上,通过最小可用产品,快速迭代反馈的策略,可以避免这种问题。

注意,在系统真正地投入生产使用之前,再好的架构都只是假设,产品越晚被使用者使用,失败的成本和风险就越高,而小步行进,通过MVP快速实验,获取客户反馈,迭代演化产品,能有效地减少失败的成本和风险。

在这里顺便给大家推荐一个架构交流群:650385180,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源。相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。

另外,多年的经验告诉我,架构,平台不是买来的,也不是用一个开源就能获得的,也不是设计出来,而是长期演化才能落地生根的。

构建闭环反馈架构

先分享一个链接,这几年对我架构影响最深的一篇文章。这篇文章是关于DevOps的,但对系统架构同样适用:

  • http://itrevolution.com/the-three-ways-principles-underpinning-devops/ 

这篇文章讲述了企业通向DevOps的三条必经之路,我们来看看这三条道路对架构师的启示。

第一条道路,系统思维,开发驱动的组织机体,其能力不是制作软件,而是持续的交付客户价值,架构师需要有全局视角和系统思维(System Thinking),深入理解整个价值交付链,从业务需求、研发、测试、集成,到部署运维,这条价值链的效率并不依赖于单个或者几个环节,局部优化的结果往往是全局受损,架构师要站在系统高度去优化整个价值交付链,让企业和客户之间形成快速和高效的价值传递。

第二条道路,强化反馈环,任何过程改进的目标都是加强和缩短反馈环。刚入行的工程师,也是中国学生的普遍问题,就是生产运维意识不足(监控是系统反馈的重要环节)。有两句话是这样讲的:

  1. no measurement, no improvement没有测量,就没有改进和提升
  2. What your measure is what you get你测量什么,就得到什么

没有监控或者监控不完善的系统相当于裸奔,开车上高速无仪表盘。有一篇很不错的关于测量驱动开发的文章,在InfoQ上的,向大家推荐:

  • http://www.infoq.com/cn/articles/metrics-driven-development

这篇文章提出了度量驱动开发的理念,即所谓MDD,在系统,应用和业务三个层次,通过三级监控,构建三个反馈环,在监控测量基础上持续改进系统和架构,我最近也在参考这个理念设计一个电商平台的技术架构,见下图:

这是一个电商平台的架构,整个体现了闭环架构的思想,右侧是整个平台的反馈监控环节。具体如下:

  1. 系统层监控计算网络存储,构建系统层的反馈环
  2. 应用服务层,监控业务、应用、服务,甚至整个研发流程,构建应用和服务层的反馈环
  3. 客户体验层,监控端用户和分析网站用户的行为,构建和客户的反馈环

下面这个图展示了系统提升和改进的一般方法:

收集->测量->调整->闭环重复,在有测量数据和反馈的基础上,系统、应用、流程和客户体验才有可能获得持续的提升和改善,否则没有数据的所谓改进只能靠拍脑袋或者说猜测。

第三条道路,鼓励勇于承担责任,冒险试错和持续提升的文化。这点是最难的,一般和企业人才密度有关。工具,技术,流程只是一个公司的冰山浮出水面的部分,而真正对企业效能影响大的则是冰山水下的部分,即企业的人和文化,架构师作为技术和架构的布道者,有责任义务鼓励和推动试错文化。

架构师要深入领会这三条道路,关注整个价值交付链的效率,关注每个环节的闭环反馈,鼓励和推动公司的试错文化,打造全系统的闭环架构(Architecting for closed loop feedback),提升整个系统效能。下图的DevOps和每日交付是每一个互联网系统架构师的梦想和努力的方向。

谈谈微服务架构

微服务我想大家都听得很多了,我本人也非常关注和推崇微服务,从技术角度讲,我认为微服务主要体现的是单一职责和关注分离的思想,从单进程模块化进一步拓展到跨进程分布式的模块化。微服务是独立的开发、测试、部署和升级单元,正如我在第一点架构定义中提到的,微服务中每个服务可以独立演变,它的cost of change比较小,整体架构比较灵活,是一种支持创新的演化式架构。

在这里顺便给大家推荐一个架构交流群:650385180,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源。相信对于已经工作和遇到技术瓶颈的码友,在这个群里会有你需要的内容。

去年MartinFowler写了两篇文章,给微服务泼冷水的,建议大家好好读下。

  1. http://martinfowler.com/bliki/MicroservicePrerequisites.html
  2. http://martinfowler.com/bliki/MicroservicePremium.html

这个图讲什么时候该引入微服务。微服务有额外成本的,需要搭建框架、发布、监控等基础设施。初创和小规模团队不建议采用。主要决定是因素系统复杂性和团队规模,当到达一个点,单块架构严重影响效率才考虑 。另外补充一点,微服务更多是关于组织和团队,而不是技术。

架构和组织文化关系

再谈一下康威定律:

Conway’s law: Organizations which design systems[...] are constrained to produce designs which are copies of the communication structures of these organizations. (设计系统的组织,其产生的设计和架构等价于组织间的沟通结构。 )

从单块架构到微服务架构是这个定律的很好体现。

团队是分布式的,系统架构是单块的,开发,测试,部署协调沟通成本大,严重影响效率,严重时团队之间还容易起冲突。

将单块架构解耦成微服务,每个团队开发,测试和发布自己负责的微服务,互不干扰,系统效率得到提升。

可见,组织和系统架构之间有一个映射关系(1 ~ 1 mapping),两者不对齐就会出各种各样的问题,一方面,如果你的组织结构和文化结构不支持,你也无法成功建立高效的系统架构,例如集中式和严格职能(业务, Dev, QA, Deployment, Ops)的企业,很难推行微服务和DevOps,推行Docker/PaaS平台也会比较困难,这样的组织职能之间都倾向于局部优化(local optimization),无法形成有效的合作和闭环。

反过来也是成立的,如果你的系统设计或者架构不支持,那么你就无法成功建立一个有效的组织;作为系统架构师,一定要深入领会康威定律,设计系统架构之前,先看清组织结构,也要看组织文化(民主合作式,集权式,丛林法则式,人才密度),再根据情况调整系统架构或者组织架构。

架构师心态和软技能

空杯,或者说开放心态(open minded)是一个成熟架构师的应有心态,stay hungry, stay foolish, 心态有多开放,视野就有多开阔。来自《高效能人士的七个习惯~史蒂芬~柯维》的一句话送给每一个架构师 :

如果一位具有相当聪明才智的人跟我意见不同,那么对方的主张必有我尚未体会的奥秘,值得加以了解。与人合作最重要的是,重视不同个体的不同心理、情绪与智能,以及个人眼中所见的不同世界。与所见略同的人沟通,益处不大,要有分歧才有收获。

另外再推荐一个本书《软件架构师的12项修炼》,这书中三个观点很值得每个架构师学习领会:

  1. soft skills are always hard than hard skills,软技能比硬技能难
  2. choosing relationship over correctness ,注重关系重于谁对谁错
  3. 架构的政治性,在中大型公司里工作的架构师尤其要学习

政治指的是和他人协作将事情搞定的艺术,架构是一种社交活动,在技术的世界里,个人主义很容易被打败,即使你的目的是好的技术是最优的,技术决策是政治决策(technical decisions are political decisions),一个技术产品,一波人可以做,另一波人也可以做,到底谁做的好,真不好说,不管谁做,都给业务套上了一副手铐。

架构师如何提升?实战,实战,实战!规划职业,找好的团队和项目,总结分享,学习GitHub开源项目,尽可能参与和开创自己的开源项目和产品,并长期积累。

我对一些架构师争议主题的看法

主要争议是两个话题:

  1. 技术和业务的关系。
  2. 架构师要写代码吗?

架构师怎么回答这类问题?一个成熟架构师的口头禅:视情况而定,不一定,是也不是,it depends。技术和业务,架构师要理解业务吗?看产品和客户,如果是业务性产品,肯定要理解业务,如果是技术型产品,就不一定。

架构师要写代码?也不一定,个人觉得尽可能要写,如果你写过十年以上代码了,每年不少于2万行,都玩通了,可以不写。另外架构师如果写代码,要把控度,不要一头钻入代码,花大量时间解决细节和复杂性问题,忽视全局和系统性问题。

最后

我想说中国现在的互联网发展趋势很好,越来越多的人加入架构师这个行业,这个行业正在“万物生长”。 但是我们现在还没有马丁福勒,adrian cockcroft这样的架构牛人物,我辈需不断努力,期待中国10~20年后出现超过十个马丁福勒,adrian cockcroft这样的大牛神级人物。我们必不可停止探索,而一切探索的尽头,就是重回起点,并对起点有首次般的认识。

主人公介绍

具有超过10年的互联网分布式系统研发和架构经验,曾先后就职于:eBay中国研发中心(eBay CDC),任资深研发工程师,参与亿贝开放API平台研发,携程旅游网(Ctrip),任技术研发总监,主导携程大规模SOA体系建设,唯品会(VIPShop),任资深云平台架构师,负责容器PaaS平台的调研和架构,目前就职于法国LVMH集团中国区的垂直电商部门,任职电商首席架构师,帮助传统IT向互联网转型。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
你还不了解DevOps? 看这篇就够了
最近几年"DevOps"这个关键词经常出现在项目开发当中,特别是随着微服务/容器/cloud在项目中的大范围应用,你不想知道都很难。作为一个伴随CI/CD到DevOps一路走来的工程师,我将分几个部分漫话DevOps以及相关的概念,作为软件开发工程师,你需要知道并且开始践行DevOps, 它应该成为你职业素养的一部分。
DevOps在路上
2023/05/16
1870
你还不了解DevOps? 看这篇就够了
架构师角色的演变:从发号施令到与团队合作
作者 | Leigh Griffin, Chris Foley 译者 | 明知山 策划 | 丁晓昀 1 不断变化的世界   与传统的科学相比,软件可以算是一门非常年轻的科学。但即使是在它的婴儿期,它的关键组成部分之一——架构及其形成方式已经发生了重大变化。架构蓝图——花几个月时间完成可以解决所有问题的完整设计——一去不复返了,也没有了由一人负责管理所有东西的场景。之所以发生这种模式转变,一部分是因为行业创造出了更好的工具,还有一部分是因为用户行为发生了变化。他们的交互模式从事务性服务转变为消费驱动型服务,
深度学习与Python
2023/03/29
2880
架构师角色的演变:从发号施令到与团队合作
架构师必须要知道的阿里的中台战略与微服务
  传统企业平台都是烟囱式的系统架构,企业内部为了迎合业务发展不停的打造各种系统,导致各系统间的重复功能建设和维护带来的重复投资。重复投资不仅消耗的是人力,财力还有时间。但打通烟囱式系统间交互的集成和协作成本高昂,各大企业不得不借助ESB产品,构建企业服务总线,打通各系统间的交互问题。
欢醉
2019/05/25
1.4K0
架构师必须知道的架构设计原则
一晃我在软件研发行业工作十多个年头了,前面大部分时间做架构设计和开发,现在转型做研发管理。随着时间的推移,很多技战术细节性的东西 (工具,框架,编程语言) 在我脑海中渐渐模糊,但是一些平时学习积累起来,并且在实践中加深体会的软件架构设计和组织原则,这些原则性的东西却丝毫没有被时间冲淡,反而愈加清新。现在即使我不在一线开发,但这些沉淀下来的原则仍然潜移默化地影响我的日常管理和部分架构设计指导工作。我想有必要总结一下那些业界知名,给我留下深刻印象的软件架构设计和组织原则,和大家一起分享。1软件设计原则GRASP 通用职责分配软件模式
Java架构师必看
2020/08/17
1.2K0
康威定律,作为架构师还不会灵活运用?
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序新视界
2019/10/22
7800
康威定律,作为架构师还不会灵活运用?
被滥用的“架构师”!
👆点击“博文视点Broadview”,获取更多书讯 在很多程序员的大脑中,都会有这样一个打怪升级的路径: 曾经,我对这个路径深信不疑,现在想想,也许是因为初出茅庐的我所看到的江湖太小。慢慢地,在江湖中久了、视野开了,就发现自己想得太简单了。 第1个对“架构师”的定义 十多年前,在我初入江湖的时候,首先进入了一家位于深圳的大型软件公司,研发人员的规模上千。面试我的人据说是公司中的架构师,我当时心里真的是对这个架构师充满了仰慕之情,以至于至今我都依稀能够回忆起他的容貌和声音。 当时的后端主流技术是St
博文视点Broadview
2022/04/22
2590
被滥用的“架构师”!
架构师必须掌握的架构设计原则
来自 Craig Larman 的软件设计书《UML 和模式应用》,Larman 在书中提出软件设计的关键任务是职责分配,并提炼总结出 9 种 (5 种核心 +4 种扩展) 软件职责分配模式,这些模式是比 GoF 设计模式更抽象的元模式。
架构狂人
2023/08/16
3390
架构师必须掌握的架构设计原则
顾宇:成功的微服务应该是什么样 — 组织篇
4 月在深圳的 GOPS 大会上我分享了“落地微服务的难点和如何高效落地微服务”,这是我 2017 年 4 月份开始做的项目总结,后来发表到了自己的博客和” ThoughtWorks 洞见” 上。
DevOps时代
2018/10/25
6920
顾宇:成功的微服务应该是什么样 — 组织篇
直击架构本质:优秀架构师必须掌握的几种架构思维
架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。
范蠡
2019/11/06
1.3K0
直击架构本质:优秀架构师必须掌握的几种架构思维
为什么微服务实施那么难?如何高效推进微服务架构演进
前言 笔者从 2013 年加入 ThoughtWorks 至今共 4年时间。在这 4 年的时间里,我分别以 开发人员, DevOps 工程师、DevOps 咨询师、微服务架构师以及微服务咨询师的角色参与了共计 7 个产品和项目的微服务咨询和实施。其中有有成功,有失败,有反思,更多的是学习和总结。以下是我这些年来在微服务咨询上的经验总结,希望能给陷入微服务实施困境的人带来一些帮助。 难点1:“一步到位”的认知错觉 这些年微服务大红大紫,但是真正能够拿出来做为可实践的案例少之又少。大部分的微服务案例只能看到微
Java高级架构
2018/04/19
1.1K0
《微服务设计》第 2 章 演化式架构师
第 2 章 演化式架构师 2.1 不准确的比较 架构师的一个重要职责是,确保团队有共同的技术愿景,以帮助我们向客户交付他们想要的系统。在某些场景下,架构师只需要和一个团队一起工作,这时他们等同于技术引领者 ---- 2.2 架构师的演化视角 因此架构师必须改变那种从一开始就要设计出完美产品的想法,相反我们应该设计出一个合理的框架,在这个框架下可以慢慢演化出正确的系统,并且一旦我们学到了更多知识,应该可以很容易地应用到系统中 架构师的职责之一就是保证该系统适合开发人员在其上工作 ---- 2.3 分区 作为架
yeedomliu
2019/09/28
4280
中国式微服务技术栈2.0
近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆。
程序猿DD
2018/07/31
7870
中国式微服务技术栈2.0
解决方案架构师修炼之道
推荐序二 在IT领域里,解决方案架构师的培养成本也是极高的,架构的优劣决定着企业IT的建设和运营成本,架构设计上的漏洞可能会给企业带来巨大的损失。一名优秀的解决方案架构师在成长的道路上,要学习各类IT知识,在项目中摸爬滚打,总结经验教训,从实践中提炼方法论 ---- 推荐序四 我们介入后,围绕发布目标,反向梳理了三大模块工作细节及其配合关系,包括功能性开发与测试、非功能性开发与验证、产品运营与推广等,帮助产品相关的几十人的业务与技术团队就目标形成共识,包括帮助团队明确和调整优先级,舍弃一些不太重要的功能,提
yeedomliu
2021/12/01
2.7K0
解决方案架构师修炼之道
关于微服务拆分,听听一位微服务架构师的肺腑之言
导语:微服务架构的盛行,解决了系统上可用性、可扩展、可维护性上的问题,成为众多企业架构转型的不二之选。但在架构转型时,原有系统应该如何进行微服务拆分呢?要避免哪些陷阱呢?在本文中,腾讯云微服务架构师崔凯将为大家详细解答。
腾讯云中间件团队
2021/03/24
2.4K0
关于微服务拆分,听听一位微服务架构师的肺腑之言
资深架构师十年总结:成为架构师,你必须具备这五点能力
作者 | Alan Tai 译者 | 冬雨 策划 | 闫园园 在过去的 20 年里,作为一名软件工程师和软件架构师,我与不同领域和不同学科的软件工程师聊过很多次。他们中有一些人是有着 8 到 10 年经验的高级工程师,有许多人还在职业生涯早期,有着 3 到 5 年的经验。其中一些人是我的同事。有些人是求职者。聊到最后,他们几乎都会问到同样一个问题: “我想成为一名解决方案架构师。了解更多架构相关内容的资源有哪些?“——很多软件工程师都会问的一个问题。 他们问错了问题。如果你读下去,就会知道为什么我
深度学习与Python
2023/03/29
5850
资深架构师十年总结:成为架构师,你必须具备这五点能力
DevOps转型陷阱与核心实践指南
2010年,我曾在IBM供职,开始参与DevOps相关的产品研发与实施工作。今天看来,我也许是国内较早的DevOps践行者。这两年DevOps在国内开花结果的时候,我见到了很多错误转型的乱象。本文中,将为大家分享自己对DevOps行业发展的观察,并向介绍DevOps转型的路途中都有哪些陷阱。希望通过本文,大家能更够拨云见日,真正的使DevOps成为企业生产力增长的助推器。 本文目录: 一、软件工程的发展 二、DevOps转型陷阱 三、DevOps核心实践 四、DevOps生态环境 一、软件工程的发展 1、工
yuanyi928
2018/03/30
1.2K0
DevOps转型陷阱与核心实践指南
进阶Java架构师必看的15本书
1、大型网站技术架构:核心原理与案例分析 本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。 本书作者李智慧,曾在阿里巴巴担任技术专家,参与阿里巴巴基础技术平台开发和架构设计。 2、分布式服务框架原理与实践 微服务是当前非常热的技术关键词之一,那么微服务如何落地呢?首先要实现服务化,微服务架构是一种服务化架构风
Java技术栈
2018/03/30
3.2K0
进阶Java架构师必看的15本书
符合架构的测试
架构会对测试带来重要的影响。测试单体系统的方式与测试松耦合系统的方式是不同的。我们以微服务作为松耦合系统的典型示例。下面将会看到,它们挑战了我们之前对于测试的定义。 康威定律 Melvin Conway观察到组织的结构会对它们所创造的产品带来显著的影响:“任何组织在设计一套系统时[……],所交付的设计方案在结构上都与该组织的沟通结构保持一致。” 康威定律说明公司的软件架构通常会反应组织的结构。另一方面,我们如何组织团队会对架构和测试方法带来巨大的影响。 架构和组织结构之间的互相依赖也会反映到BAPO模型中,
程序你好
2018/07/20
4810
怎样成为一个优秀的架构师?
架构师是一个既能掌控整体又能洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。看似完美的“人格模型”背后,是艰辛的探索。
一个会写诗的程序员
2019/10/09
1K0
怎样成为一个优秀的架构师?
谈谈架构设计
作者:guisuhuang,腾讯 PCG SRE 工程师 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义, 因为概念是人认识这个世界的基础和用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅,本文根据相关资料进行总结。 一、架构是什么 Linux 有架构,MySQL 有架构,JVM 也有架构,使用 Java
腾讯技术工程官方号
2023/04/01
7180
谈谈架构设计
相关推荐
你还不了解DevOps? 看这篇就够了
更多 >
目录
  • 架构的迭代和演化性
  • 构建闭环反馈架构
  • 谈谈微服务架构
  • 架构和组织文化关系
  • 架构师心态和软技能
  • 我对一些架构师争议主题的看法
  • 最后
  • 主人公介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档