阅读目录
系列目录
一、引子-课程介绍
二、架构思考
2.1 什么是架构
2.2 架构的分类
2.3 架构师的定位和价值
三、架构入门
3.1 架构师能力模型
3.1.1 开发和架构师的区别
3.1.2 团队定位(角色)
3.1.3 通用能力
3.1.4 专业技能
3.2 如何成为架构师
3.2.1 三步骤
3.2.2 认知曲线
3.3 架构入门
3.3.1 入门的标准
3.3.2 架构工作总结
回到顶部(go to top)
系列目录
架构师之我见(一)入门篇
架构师之我见(二)进阶篇
架构师之我见(三)未来篇
回到顶部(go to top)
一、引子-课程介绍
这系列文章,是博主在给公司做架构师分享时的课件。对【架构师】感兴趣的同学可以随意查阅。(每个人有自己的见解,各位架构师大神,请不要批斗~)
目的:
架构师:交流、反思、改变、价值。
开发:指引、实践、突破、价值。
其它:了解架构及架构师,更好的协作。
回到顶部(go to top)
二、架构思考
2.1 什么是架构
芯片架构、音乐架构、组织架构、系统架构...架构无处不在。
技术架构相关常见词汇:软件架构、系统架构。
共性是用于指导设计,一般存在于复杂场景,把无序的变有序,把耦合的解耦。即架构不是必须的,某些简单场景,可以不用架构。
软件架构(software architecture):是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的基础。---艾兹格·W·迪科斯彻
系统架构(system architecture):是定义系统的结构、行为和更多视图的概念模型。系统架构包含软件架构、硬件架构、软硬件协同等。
架构是设计的一种抽象。风格是模式的一种抽象。
架构:架构专注于可以被多个设计所利用的抽象。
设计:设计是建立特定事物的具体计划。架构也是一种设计。专注于架构的设计。
风格:某一特定应用领域中系统组织方式的惯用模式。事物的代表性元素特性。
模式:指事物的标准样式,是结构主义用语。指用来说明事物结构的主观理性形式。
2.2 架构的分类
业务域:业务架构师、业务专家 业务架构:从需求(行业经验)中抽象提炼,按业务模块拆分。
技术域:系统架构师、软件架构师 应用架构:定义了前后端应用服务的水平/垂直拆分边界。 技术架构:用技术语言描述系统用到的技术组件。 数据架构:数据采集、流转、存储,大数据系统的核心架构。 部署架构:指导运维部署、维护系统,亦称基础设施架构。
近几年:对架构师的要求越来越高,也不区分业务、技术了,都归属于架构师职责。
2.3 架构师的定位和价值
架构师是负责系统架构的人,是团队技术一把手,对团队技术负责。核心工作:确认、评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点。
“软件架构师的最大价值不在于掌握多少先进的技术,而在于具有将一个大系统切分成N个低耦合的子模块的能力,这些子模块包含横向的业务模块,也包含纵向的基础技术模块。这种能力一部分源自专业的技术和经验,还有一部分源自于架构师对业务场景的理解、对人性的把握、甚至对世界的认知。”---李智慧《大型网站技术架构核心原理与案例分析》
回到顶部(go to top)
三、架构入门
要想成为一名架构师、把架构工作做到入门程度,并不容易,但有迹可循。
3.1 架构师能力模型
3.1.1 开发和架构师的区别
开发:主要负责开发落地。要求:技术广度中、技术深度中。有一种开发岗位是:资深开发岗,技术深度要求高一些,广度要求不高。
架构:提前规划设计、做决策。要求:技术广度高、某些领域技术深度极深。
架构核心能力“站得高、望得远、扎得深”即宏观思维能力、抽象思维能力和钻研能力。--美团内部的架构观
宏观思维:考虑整体,站在更高的层次上去看问题。
抽象思维:软件项目永远不变的就是“变化”,抽象是应对变化的主要手段。
钻研能力:要求架构师具备深入细节的能力,能够攻克软件项目中的关键难题。
3.1.2 团队定位(角色)
找定位:架构师要在团队中找到自己的定位(角色)->职责->能力。
额外角色:半个产品、半个运维甚至半个项目经理。具体就看团队哪里薄弱,加强哪里。{但要注意是协助,不是拍板。}
基座:架构师是研发团队的基座,是串联业务、需求、研发、运维运营的纽带。90%的项目失败/未达标,根源在于架构师没能发挥统领全局的作用。
3.1.3 通用能力
能力模型: 分为两大块:通用能力、专业技能。
通用能力 :往往容易被忽视,属于非职业性质的软实力,适用任何岗位。
3.1.4 专业技能
专业技能:包含业务能力、技术能力、职业软实力。
3.2 如何成为架构师
3.2.1 三步骤
不要怕成为架构师,要有动力成为架构师。机会来了,抓住他。没机会先提升能力、勇与挑战。
3.2.2 认知曲线
那关于架构之路,总是有认知曲线的,如下图:
级别:初级、中级、高级架构师、总架构师、首席架构师。
认知曲线(邓宁-克鲁格效应):愚昧山峰、绝望之谷、开悟之坡、平稳高原。
3.3 架构入门
3.3.1 入门的标准
架构师入门的标准,这是个开放性问题。
共赢模式:架构师存在于一个团队中。利用个人能力、基础能力、职业能力在团队工作中,以个人带动团队,达成团队目标。同时验证/提升个人的架构能力(图中紫色部分)。
形成一次共赢模式实践,架构师已融入团队,形成了正向闭环,实现双赢。就算入门了。就像练武功,先把内功心法修炼好,再结合武术套路连贯打一套,这门武功就入门了。
3.3.2 架构工作总结
还不懂?那看看架构师的工作总结。
一、专业技能
1.设计能力
一文掌握设计模式(定义+UML类图+应用)
2.架构能力
大数据:
大数据(一)背景和概念
大数据(二)大数据架构发展史
大数据(三)大数据技术栈发展史
流量治理:
分布式架构-流量治理-服务容错
分布式架构-流量治理-流量控制
可靠通讯:
分布式架构-可靠通讯-零信任网络
分布式架构-可靠通讯-服务安全
可观测性:
分布式架构-可观测性(一)-原理概览
分布式架构-可观测性(二)-事件日志
分布式架构-可观测性(三)-链路追踪
分布式架构-可观测性(四)-聚合度量
云原生架构(一)原理概览
其他:
服务端架构演进史
领域驱动架构及其演变史(EBI、DDD、端口适配、洋葱、整洁)
DDD领域驱动设计落地实践(十分钟看完,半小时落地)
RocketMQ详解(一)原理概览
二、软实力
技术人的思想提升
技术人如何打破瓶颈
程序员如何成为架构师
技术团队管理(一)思想提升
技术团队管理(二)职业素养
技术团队管理(三)管理警示录