一個五年架構師為什麼基本年薪酬可以達到50萬?
架構師,我想很多人都知道,其實該職位頭銜在最早的IT領域是沒有的,它是近些年來由網際網路的發展所引發的需求,因為現階段的資料量及高併發的活躍好動,引起了不少傳統的技術人員的力不從心,企業愈發關注到了系統架構的重要性,所以不同行業開始招募架構技術人員,架構師就誕生了。
架構設計的條件
以下三個條件不適合做架構設計
對架構不感興趣,但又迫於需求;
入IT行業,年限小於4年的;
主觀能動性弱,又安於現狀的;
架構設計的優勢
更好的梳理業務的結構體系;
更好的擴充、維護及效能優化;
更好的適應企業業務靈活的推進;
更好的適應大資料的沖洗和應對;
更好的穩定性、低成本及快速迭代;
架構設計時候需要注意的地方
架構設計需要注意的地方,不是怎麼把架構搭建起來,而是必須根據業務需求,嚴格分析,實現該需求需要什麼技術會更好及更長遠發展的考慮;
另外,構建好的架構雖然可以執行,但是效能需要跟起來,否則架構設計會適得其反,增加不必要的工作量,那麼下面就詳細介紹下架構設計的策略。
本篇主要是介紹架構設計的思路及應用的核心技術,供在架構設計的同學參考借鑑哦!有想了解更多的加Java高階架構群:697579751
平臺的需求
客戶需求
線上購物、線上支付或貨到付款;
購買商品後,客戶可以與客服溝通;
購買商品過程,物流的管理及跟蹤;
收取到商品後,商品、物流評價打分;
客戶的需求為最高,也代表了企業的核心需求,當然,企業需求還包括其它很多非功能性需求,具體請檢視需求梳理部分。
平臺的需求
客戶需求
線上購物、線上支付或貨到付款;
購買商品後,客戶可以與客服溝通;
購買商品過程,物流的管理及跟蹤;
收取到商品後,商品、物流評價打分;
客戶的需求為最高,也代表了企業的核心需求,當然,企業需求還包括其它很多非功能性需求,具體請檢視需求梳理部分。
平臺的業務架構
根據業務的需求進行子系統模組劃分,可以劃分為商品子系統、購物子系統、支付子系統、物流子系統、客服子系統、評論子系統;而非核心需求可拆分出客服子系統、評論子系統及介面子系統。另外,根據各個子系統的核心等級,可拆分出核心子系統和非核心子系統,前者包括商品子系統、購物子系統、支付子系統及物流子系統;後者,則包括評論子系統、客服子系統及介面子系統。需要注意的是一般大型電商平臺的物流系統是單獨分離出來的系統(入庫、出庫、庫存管理、配送管理及貨品管理),而這裡劃分為子系統的主要目的是為演示核心架構,本架構中物流子系統一般作為對接和管理獨立子系統的對接模組哦。
1、業務拆分目的
為了解決各個模組子系統間的耦合、維護及擴充性;
方便單獨部署子系統,避免集中部署導致一個出問題,全部不能用;
分配專門的團隊,負責具體的子系統,最大化工作效率安排;
應對大資料,高壓力時,保護核心子系統正常使用;
2、業務的架構圖
在上面的業務架構圖中,將核心和非核心業務進行拆分,同時每個系統都要獨立部署實現,做到大資料量壓下,各個系統獨立運作,提高可用性,必要時可以暫停掉非核心繫統的資源開銷,保證核心業務正常為使用者服務。
平臺的技術架構
在上面業務架構圖基礎上,我們需要一個技術架構的演變過程,一切只為滿足使用者的體驗和支撐為前提,所以技術架構的搭建不是一蹴而就的,而是隨著業務的不斷衍變,系統的架構會逐漸完善更新,以實現應對業務資料量的衝擊。
1、基本的架構設計
記得很早的時候,很多中小企業所採用的架構設計十分簡單,基本使用一臺伺服器來滿足一切需求部署,比如:一臺伺服器同時用作應用部署、資料庫儲存以及圖片儲存等,不料的是待使用者資料達到50萬以上,系統出現很多效能問題,儘管對資料庫和程式做個各種效能優化,結果仍無明顯改善,架構如下:
後來,IT程式猿發現圖片的讀寫嚴重影響了系統效能,並將圖片單獨存放在獨立伺服器中,並且在架構中引入了Cache中介軟體,比如:Memcache,這種做法是可取的,而且比原來效能提高了1-2個效能級別,架構設計如下:
2、初級的架構設計
前幾年,一般的電商網站的做法是選用三臺伺服器,一臺部署應用,一臺部署資料庫,一臺部署NFS檔案系統,做到將各個規模龐大並耗用效能的部分剝離到不同伺服器裝置,再配備必要的快取中介軟體,基本可以滿足近1000萬的資料量,具體的架構圖如下:
但是,目前主流使用的網站架構已經不同,大多采用叢集的方式來實現負載均衡和高可用性,架構可以是下面的樣子:
注意:
如果涉及到多臺網站伺服器的話,就會存在Session如何同步的問題,一般也是最為常用的做法,就是使用Cache中介軟體來儲存和管理Session資訊。
3、優化的架構設計
這裡為解決高併發,高可用的大型電商網站的架構設計方案,主要採用了分散式、叢集、負載均衡、反向代理、訊息佇列及多級快取技術。該架構設計方案,是現今比較流程的大型電商網站採用的架構模式,比如:淘寶、京東等,也許會有細微不同的地方,但大同小異哦!具體的架構圖方案如下:
平臺架構的總結
這裡主要總結的是優化架構,架構按層次結構羅列組織,共分為四層,層次分工明確,高擴充,低耦合,負載均衡、叢集、分散式及快取等技術的使用,架構如下:
相關文章
- 架構C01: 什麼是架構?為什麼做架構?架構師需要做什麼?架構
- 為什麼你總成為不了架構師?架構
- 成為一個優秀的java架構師究竟需要學什麼?Java架構
- 什麼是架構師架構
- 如何在一年之內達到bat級別的java架構師?BATJava架構
- 阿里十年架構師用一張圖告訴你什麼是系統架構師阿里架構
- 一個對話讓你明白架構師是做什麼的?架構
- 為什麼現在演算法工程師薪酬這麼高?演算法工程師
- 從前端工程師到前端架構師, 我們經歷了什麼?前端工程師架構
- 架構師的工作都幹些什麼?!想做架構師必看!架構
- 漫畫:什麼是架構師架構
- 為什麼大部分碼農做不了架構師?架構
- 如何成為一個合格的資料架構師?架構
- 為什麼大部分 PHP 程式設計師做不了架構師?PHP程式設計師架構
- 架構師之路:一個架構師需要掌握的知識技能架構
- 什麼樣的經歷,才能領悟成為架構師?架構
- 什麼是企業架構師? (tpierrain)架構AI
- 架構師的定義是什麼?架構師需要具備哪些能力?架構
- 創新工場王詠剛:為什麼 AI 工程師要懂一點架構?AI工程師架構
- 一個思維習慣,讓你成為架構師架構
- 為什麼基本型別可以呼叫方法——以字串為例型別字串
- 成為一名阿里P7Java架構師到底要學習什麼?阿里Java架構
- 一個離開學校三年java架構師Java架構
- Java程式設計師達到高薪架構師的一套完美總結(漲薪必看)Java程式設計師高薪架構
- 為什麼要使用微服務架構?微服務架構
- 為什麼微服務架構需要聚合微服務架構
- 雲架構師:職責、技能以及如何成為一名雲架構師架構
- AI架構師:職責、技能以及如何稱為一名AI架構師?AI架構
- 轉轉首席架構師 孫玄:如何成為一個有情懷的工程師?架構工程師
- 從AlloyDb的架構能學到些什麼架構
- 同樣工作十幾年,為什麼有的人成為大廠架構師,有的人失業?架構
- 架構師日常(一)架構
- 成為跨領域的「解決方案架構師」需要什麼素養?架構
- 在阿里架構師眼中構建一個較為通用的業務技術架構就是如此簡單阿里架構
- 為什麼需要六邊形架構?- silkandspinach架構
- 為什麼需要改變RAN的架構?架構
- 關於架構師的輕度思考,你眼中的架構師是什麼樣的呢架構
- 阿里P8級架構師淺談Java架構師的工作都幹些什麼?阿里架構Java