目前正在實施的一個項目,由于系統(tǒng)架構(gòu)組組長突然離職,使我有幸代理了一段時間的系統(tǒng)架構(gòu)組組長,但我主要負(fù)責(zé)系統(tǒng)架構(gòu)組的日常管理工作,在技術(shù)層面涉入不深,這也是我比較遺憾的地方。最近被人問到如何設(shè)計一個系統(tǒng)架構(gòu)才能支撐高并發(fā)的要求時,我啞口了,因為我只知道用的什么系統(tǒng)架構(gòu),但真的沒有去總結(jié)過使用這個架構(gòu)的原因,今天有空稍微整理了一下思緒,淺淺地談一下。

先說一下我對系統(tǒng)架構(gòu)的認(rèn)識,這是我在和一個資深的系統(tǒng)架構(gòu)師交談時所吸收的,架構(gòu)至少可以分成三種層面的架構(gòu):系統(tǒng)架構(gòu)、軟件架構(gòu)、應(yīng)用架構(gòu)。系統(tǒng)架構(gòu)是最高層面的一個架構(gòu),可以獨立于軟件架構(gòu)(用什么技術(shù)框架來搭建)和應(yīng)用架構(gòu)(實現(xiàn)的什么業(yè)務(wù)需求)而存在。一個系統(tǒng)架構(gòu)師應(yīng)該考慮的是,根據(jù)系統(tǒng)的非功能性需求(訪問量、并發(fā)量、擴(kuò)展性要求等),來選擇使用什么樣的硬件、操作系統(tǒng)、數(shù)據(jù)庫、中間件、編程語言。

由于沒有太多系統(tǒng)架構(gòu)的經(jīng)驗,這次就先說到這里,之后會簡單聊聊我所熟知的軟件架構(gòu)和應(yīng)用架構(gòu)。