一個五年架構師為什麼基本年薪酬可以達到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架構
- 一個對話讓你明白架構師是做什麼的?架構
- 為什麼現在演算法工程師薪酬這麼高?演算法工程師
- 為什麼大部分碼農做不了架構師?架構
- 漫畫:什麼是架構師架構
- 架構師的工作都幹些什麼?!想做架構師必看!架構
- 成為一名Java高階架構師到底需要學習什麼?Java架構
- 為什麼大部分 PHP 程式設計師做不了架構師?PHP程式設計師架構
- 從前端工程師到前端架構師, 我們經歷了什麼?前端工程師架構
- 為什麼基本型別可以呼叫方法——以字串為例型別字串
- 如何成為一個合格的資料架構師?架構
- 什麼樣的經歷,才能領悟成為架構師?架構
- 三年成為架構師架構
- 架構師的定義是什麼?架構師需要具備哪些能力?架構
- 一個思維習慣,讓你成為架構師架構
- 架構師之路:一個架構師需要掌握的知識技能架構
- java從程式設計師,到架構需要什麼?(banq幫我看看)Java程式設計師架構
- 10年感觸:架構是什麼?——消滅架構!架構
- 為什麼微服務架構需要聚合微服務架構
- 為什麼要使用微服務架構?微服務架構
- 創新工場王詠剛:為什麼 AI 工程師要懂一點架構?AI工程師架構
- 成為一名阿里P7Java架構師到底要學習什麼?阿里Java架構
- 為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?程式設計師
- 什麼是企業架構師? (tpierrain)架構AI
- 什麼是軟體測試架構師架構
- 同樣工作十幾年,為什麼有的人成為大廠架構師,有的人失業?架構
- 一個離開學校三年java架構師Java架構
- 如何成為一名架構師架構
- Java程式設計師達到高薪架構師的一套完美總結(漲薪必看)Java程式設計師高薪架構
- 為什麼需要改變RAN的架構?架構
- 從AlloyDb的架構能學到些什麼架構
- 遊戲設計師可以從魔術中學到什麼?遊戲設計師