漫畫:什么是架構師?

?

?

?

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.pswp.cn/news/285793.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285793.shtml
英文地址,請注明出處:http://en.pswp.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 中實現用戶注冊。點擊上方或后方藍字&#…

Android命令Monkey壓力測試,詳解

支持原創,前半部分來源博客原文:http://blog.csdn.net/huangbiao86/article/details/8490743shell, monkey, system, Android, 文件系統Monkey, 示例, 簡介一、Monkey測試簡介Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程序模擬…

JAVA 排序工具類

提供了以下排序: 冒泡排序選擇排序插入排序希爾排序快速排序歸并排序桶排序堆排序package com.xingej.algorithm.sort;import java.util.ArrayList; import java.util.Collections;/*** 排序工具類* * author erjun 2017年12月13日 上午8:38:22*/public class SortU…

js中null,undefined,false,0,'',[],{}判斷方法

目錄 1.數據類型 2.JSON字符串 3.數字類型 4.非的布爾值 5.與非比較 一、單獨判斷 1.null 2.undefined 3.0 4.“” 5.判斷undefined、null與NaN: 因為獲取到數據的不確定性,常常會導致一些異常情況,使得頁面報錯,往往要兼容這些異…

【GIS風暴】30米分辨率地表覆蓋數據GlobeLand30原始數據集簡介及下載地址

數據集預覽: GlobeLand30是30米空間分辨率全球地表覆蓋數據,目前可供下載使用的有3年的數據:2000-2010-2020,本文主要講述GlobeLand30的官網下載地址和數據集簡介。 數據處理方法、成果數據下載: 【ArcGIS風暴】ArcGI…

Git之解決git stash pop多次產生的文件沖突問題

1、問題 我們用git命令一般拉取線上代碼的時候,本地修改了,我們一般先git stash下,接下來git pull, 然后git stash pop下,但是我新增了文件,沒有添加到本地git(也就是沒有git add file這個新增加的文件),然…

記一次意外

今天嘗試給同一個對象綁定多個事件: document.getElementById("a").οnfοcus function(){ alert("1") }.οnclick function(){ alert("2") } 發現彈出2,改變focus和click的順序后依舊如此&…

一、基礎折線圖詳解《手把手教你 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…

Android之Dialog提示Unable to add window -- token is not valid; is your activity running?

1、問題 Dialog奔潰提示Unable to add window -- token android.os.BinderProxy@b251dbc is not valid; is your activity running? 2、解決辦法 傳遞context到dialog的時候,要記得先判斷狀態是不是isFinishing或者isDestroyed狀態,這個時候就不要再去show相關的dialog了,…

nagios監控haproxy(借助腳本)

nagios監控haproxy(借助腳本) 修改后的腳本如下(需添加指示燈的狀態) # vi haproxy.sh #!/bin/bash Portnetstat -ntpl | grep haproxy | awk -F[:" "] {print $5} if [ $Port "1080" ];then echo "OK …

一、Qt初嘗試,做一個QT計算器《QT 入門到實戰》

學習目標 了解 qt 的基本信息了解 qt 的下載及安裝了解創建一個基本 qt 項目的流程了解信號與槽通過示例了解信號與槽的設置與編寫了解控件添加的方式了解控件如何使用代碼獲取其文本了解控件如何使用代碼設置其文本使用 connect 自定義信號與槽了解使用樣式修飾控件外觀了解使…

VS C#語言獲取輸入名稱的漢語拼音簡拼碼和全拼碼完整案例教程

結果預覽: 擴展閱讀: SQL語言獲取拼音碼:SQL Server編寫函數獲取漢字的拼音碼(簡拼) 文章目錄 1. 拼音碼類編寫2. 界面設計3. 前端調用4. 結果展示1. 拼音碼類編寫 打開Visual Studio,新建一個Winform項目,再添加一個類文件,命名為PYM。 鍵入如下代碼: using Syst…

iOS duplicate symbol for architecture arm64 解決辦法

導致這個問題的原因有多種: 1.重復定義了const常量。 2.多個第三方庫同時用到了某個函數庫。 暫時列舉這幾種,以后遇到了其他原因再加。轉載于:https://www.cnblogs.com/zhanglinfeng/p/5987077.html