漫画:什么是架构师?

 

 

 

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

 

 

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

 

于是,小灰去向大黄请教

 

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

这是有关未来的故事:

 

从前,有一个赶路的人路过一片工地,看到三个年轻人在工地上搬砖。

 

于是,他问其中一个人:

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

于是,他又问了第二个人:

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg


 

 

于是,他又问了第三个人:

 

 

0?wx_fmt=jpeg

 

 

 

0?wx_fmt=jpeg

 

 

十年之后~

 

曾经说自己在建造城市的年轻人,成为了市长

 

 

 

0?wx_fmt=jpeg

 

 

曾经说自己在搬砖的年轻人,成为了砖厂老板

 

 

0?wx_fmt=jpeg

 

 

曾经说自己在搭建教堂的年轻人,最没出息,成为了架构师

 

 

0?wx_fmt=jpeg

 

 

 

0?wx_fmt=jpeg

 

 

什么是架构师?

 

架构师英文architect,这个词源于建筑学。软件工程当中的架构师和建筑工程当中建筑师有许多相通之处,都是负责“产品”宏观的架构设计。

 

在一个团队里,架构师充当了技术Leader的角色,不仅要完成项目的整体设计和规划,还要带领技术团队一起解决实际问题,攻克技术难点,使得软件的设计、开发、测试、发布流程得以顺利完成。

 

下面这张图,表达了一个应用架构师(技术Leader)在团队当中的角色:

 

 

 

0?wx_fmt=png

 

 

需要注意的是,这张图中的架构师只是应用架构师,所以运维和DBA人员没有归入到他的管辖范围。同时,每个公司的具体组织结构也不尽相同。

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

架构师都做些什么?

 

1.架构设计

 

架构师,顾名思义,第一职责就是在软件设计阶段,做好软件“骨架”的设计。架构师需要把产品的需求翻译成软件工程的设计文档,确定各个系统与模块的边界,评估系统的量级。

 

2.技术选型

 

从前端到后端,从缓存到数据库,面对为数众多的第三方组件,架构师需要作出合理的选择。

 

前端页面选择模板引擎还是动静分离?

服务端选择Java还是Node.js?

服务治理选择DubboX还是Spring Cloud?

消息队列选择RocketMQ还是Kafka?

分布式缓存选择Redis Cluster 还是 Codis?

数据库选择Mysql还是Oracle?

全文检索选择Solr还是ES?

技术没有绝对的好坏之分,关键看是否适用于公司的业务场景。

 

 

3.管理非功能性需求

 

满足需求是项目开发和架构设计的根本,而管理非功能性需求则是项目的升华。

 

在公司从0到1的创业阶段,开发者更关注的是功能性需求,往往一个简单粗暴的MVC项目就可以搞定一切。当业务量级逐渐增大,用户需求逐渐多样化,非功能性需求的重要性就逐渐显现。 

 

非功能性需求都包含哪些内容呢?

 

性能(响应时间) 

可扩展性(适应需求的快速变化)

可用性 (四个9,五个9,必要时的限流和降级)

安全性(防范各种恶意攻击,实现风控)

可监控(完善的监控和报警机制)

灵活性(便于非开发人员进行配置) 

可维护(持续集成,持续部署) 

国际化(冲出国门)

 

 

4.攻克技术难题

 

架构师不只需要关注宏观的设计,也需要具有攻克技术细节的能力。在团队开发过程中遇到难以实现和优化的技术问题时,架构师需要发挥技术优势,解决系统的疑难杂症。

 

 

5.技术人员的管理和指导

 

架构师不只是一个技术大牛,也应该是一个好的管理者,在工作中需要把较大的项目和需求拆分一个个Story,依照每个人的情况分配给研发团队的成员,并且在必要的时候进行技术上的培训指导。

 

 

0?wx_fmt=jpeg

 

 

0?wx_fmt=jpeg

 

 

 

架构师都有哪些种类?

 

1.应用架构师

 

应用架构师是行业中数量最多的架构师,主要负责公司产品的技术架构。产品架构师需要对业务有足够的理解,根据产品需求设计架构,在运营团队的协助下评估量级,并管理项目的整个生命周期。

 

 

2.中间件架构师

 

中间件架构师主要负责基础框架、公共组件,通用服务的搭建。比如分布式服务框架诸如Dubbo,HSF;比如消息队列诸如 RocketMQ,Kafka。在大型互联网公司中,往往不是把开源框架简单“拿来”,而是研发出符合自身业务的企业中间件。

 

 

3.基础设施架构师

 

基础设施架构师负责服务器资源、网络资源、数据库等基础设施的建设;以及持续集成工具、持续部署工具的搭建。

 

 

以上所说的三种,只是架构师最基本的分类。一些特殊领域也有着专门的架构师,比如网络安全架构师、大数据架构师等等。

 

 

0?wx_fmt=jpeg

 

 

 

0?wx_fmt=jpeg

 

 

 

怎样才能成为架构师?

 

 

1.技术的深度和广度

 

有一句话说得好,将军就是更优秀的士兵。架构师作为程序员中的将军,首先需要有足够的技术深度,同时需要广泛了解行业内的主流技术,以便更好地设计架构和技术选型。

 

2.业务的理解

 

抛开业务谈架构就是耍流氓。这一点对应用架构师来说尤其重要。只有对业务有了充分的理解,才能对项目的设计和扩展做出合理的规划。

 

 

3.良好的沟通能力

 

架构师不只是低头做技术,更需要协调指挥团队内的成员,也需要跨部门和产品、运营、项目经理等人员做及时有效的沟通,所以沟通能力是必不可少的。

 

 

0?wx_fmt=jpeg

 

 

 

0?wx_fmt=jpeg

 

 

 

 

—————END—————

 

 

 

喜欢本文的朋友们,欢迎长按下图关注订阅号程序员小灰,收看更多精彩内容

 

640?wx_fmt=jpeg


 

 


---------------------
作者:程序员小灰
来源:CSDN
原文:https://blog.csdn.net/bjweimengshu/article/details/78889851
版权声明:本文为作者原创文章,转载请附上博文链接!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Andoroid之BottomNavigationView右上角添加红点布局和自动跳转到底部具体第几个Tab

一、需求 BottomNavigationView右上角添加红点布局和自动跳转到底部具体第几个Tab 我们知道BottomNavigationView是在google material里面的组件 github地址如下: https://github.com/material-components/material-components-android 二、效果图片爆照 三、BottomNaviga…

FileSystemWatcher监听文件是否有被修改

作用:监听文件系统更改通知,并在目录或目录中的文件更改时引发事件。 需求:监听特定文件是否修改,然后做出相应的操作。 方法: ①利用一个线程,一直去查找该指定的文件是否有被修改,如果修改则操…

一、FFmpeg 的初尝试《FFmpeg 音视频开发基础入门到实战》

学习目标 了解 FFmpeg学习 FFmpeg 工具的下载及环境配置了解 FFmpeg 工具的使用方式了解 FFmpeg play 的使用方法了解 FFmpeg paly 的音量设置、窗口设置、音量设置等设置方法 一、了解 FFmpeg FFmpeg 是一个音视频处理的工具,通过 FFmpeg 可以对视频进行旋转、缩…

快速掌握 ASP.NET 身份认证框架 Identity - 用户注册

推荐关注「码侠江湖」加星标,时刻不忘江湖事这是 ASP.NET Core Identity 系列的第二篇文章,上一篇文章介绍了 Identity 框架的集成,以及一些基础知识。这篇文章讲一讲如何在 ASP.NET Core Identity 中实现用户注册。点击上方或后方蓝字&#…

【GIS风暴】30米分辨率地表覆盖数据GlobeLand30原始数据集简介及下载地址

数据集预览: GlobeLand30是30米空间分辨率全球地表覆盖数据,目前可供下载使用的有3年的数据:2000-2010-2020,本文主要讲述GlobeLand30的官网下载地址和数据集简介。 数据处理方法、成果数据下载: 【ArcGIS风暴】ArcGI…

一、基础折线图详解《手把手教你 ECharts 数据可视化详解》

注:本系列教程需要对应 JavaScript 、html、css 基础,否则将会导致阅读时困难,本教程将会从 ECharts 的官方示例出发,详解每一个示例实现,从中学习 ECharts 。 ECharts 官方示例:https://echarts.apache.o…

NLog自定义Target之MQTT

NLog是.Net中最流行的日志记录开源项目(之一),它灵活、免费、开源官方支持文件、网络(TCP、UDP)、数据库、控制台等输出社区支持Elastic、Seq等日志平台输出实时日志需求在工业物联网等特定场景下需要实时获取日志信息工业物联网领域常用的是mqtt协议那我们就使用NL…

2016-1-27

2019独角兽企业重金招聘Python工程师标准>>> 1.前端的三大技能:1.1.描述网页内容html 1.2.描述网页样式css 1.3.描述网页行为js2.html和jsp区别在于静态和动态..bootsharp是目前比较火爆的css..angular是目前比较火爆的js.3.单点登陆(SSO):登陆一次就可以访问所有相…

【ArcGIS风暴】ArcGIS生成GlobeLand30土地利用数据集中国区域行列号shp格式对照图(附shp下载)

效果预览: 本文主要讲述了在ArcGIS中生成GlobeLand中国区域对照行列号的shp格式矢量数据,用途在于将自己的研究区跟行列号矢量图层直接叠加显示,快速找出自己所需要的图幅号,便于快速下载数据。同时为了方便使用,本文提供了对照图的下载。 文章目录 1. 创建文件数据库2. 创…

Android 节操视频播放器jiecaovideoplayer自定义播放音频使用:屏蔽全屏按钮,增加倒计时,当前时间/总时间

一、屏蔽全屏按钮 找到JCVideoPlayerStandard.java文件中的代码: private void fixAudio() {if (SrcType.equalsIgnoreCase("Audio")) {//如果是音频,始终显示coverImageView//thumbImageView.setVisibility(View.VISIBLE);coverImageView.se…

一、Qt初尝试,做一个QT计算器《QT 入门到实战》

学习目标 了解 qt 的基本信息了解 qt 的下载及安装了解创建一个基本 qt 项目的流程了解信号与槽通过示例了解信号与槽的设置与编写了解控件添加的方式了解控件如何使用代码获取其文本了解控件如何使用代码设置其文本使用 connect 自定义信号与槽了解使用样式修饰控件外观了解使…

VS C#语言获取输入名称的汉语拼音简拼码和全拼码完整案例教程

结果预览: 扩展阅读: SQL语言获取拼音码:SQL Server编写函数获取汉字的拼音码(简拼) 文章目录 1. 拼音码类编写2. 界面设计3. 前端调用4. 结果展示1. 拼音码类编写 打开Visual Studio,新建一个Winform项目,再添加一个类文件,命名为PYM。 键入如下代码: using Syst…

SSIS 执行变量中的脚步输出列顺序与SQL查询列顺序不同

这个问题是朋友遇到的,做一个SSIS的程序将数据导入到txt。然后再用Oracle的工具导入到Oracle。但是在SSIS中执行变量脚步的时候,发现输出的列名称跟查询的列名称完全不同。比如Schema_id在查询的第三列,但是输出的时候到了第6列。 如图&#…

【ArcGIS风暴】ArcGIS自定义坐标系统案例教程---以阿尔伯斯投影(Albers)为例

在实际工作中,经常需要进行矢量数据或栅格数据的投影转换工作,但有时候ArcGIS中恰恰没有我们需要的坐标系,此时,就需要我们自定义坐标系。本文以阿尔伯斯投影(Albers)为例,讲解自定义投影的一般过程及注意事项。 文章目录 1. 确定投影名称2. 选择投影坐标系及修改参数4.…

Unity5 GI与PBS渲染从用法到着色代码

本文主要介绍Untiy5以后的GI,PBS,以及光源探头,反射探头的用法以及在着色器代码中如何发挥作用,GI是如何影响渲染的,主要分成三个部分,最开始说明PBS需要的材质与相应概念,二是Unity 里相应GI的…

Blazor University (31)表单 —— 验证

原文链接:https://blazor-university.com/forms/validation/验证源代码[1]DataAnnotationsValidator 是 Blazor 中的标准验证器类型。在 EditForm 组件中添加此组件将启用基于 System.ComponentModel.DataAnnotations.ValidationAttribute 的 .NET 属性的表单验证。…

CSDN,CNBLOGS博客文章一键转载插件 终于更新了!

之前,Shawn Chou等朋友一直建议插件支持cnblogs文章转载,但一直没时间修改插件,今天晚上抽时间将插件进行了升级,可以支持 CSDN,CNBLOGS博客文章的一键转载。时间仓促,难免有各种问题,欢迎提出建议&#xf…

ROS2_Control官方资料+运动控制

Getting Started — ROS2_Control: Rolling Dec 2023 documentation Getting Started Edit on GitHub Youre reading the documentation for a development version. For the latest released version, please have a look at Iron. Getting Started Installation Binar…

三、教你搞懂渐变堆叠面积图《手把手教你 ECharts 数据可视化详解》

注:本系列教程需要对应 JavaScript 、html、css 基础,否则将会导致阅读时困难,本教程将会从 ECharts 的官方示例出发,详解每一个示例实现,从中学习 ECharts 。 ECharts 官方示例:https://echarts.apache.o…

试用了多款报表工具,终于找到了基于.Net 6开发的一个了

Part1前言上一个月有一个项目需要用到数据分析,将老板感兴趣的数据给他整理成一个面板,方便他实时查看,于是自己了解到了BI,当时我们项目就用了metabase,metabase是一款开源的BI分析工具,开发语言clojureReact为主。就…