色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

架構(gòu)師在做一個(gè)網(wǎng)站的架構(gòu)時(shí)要做哪些工作(按順序排列)?

我是一個(gè)假的架構(gòu)師,真的程序員。

現(xiàn)在所在的項(xiàng)目,是去年八九月份啟動(dòng)的,雖然不是一個(gè)網(wǎng)站,但是大部分工作都是類似的,那么我給大家介紹一下這半年我做了哪些工作。

一般新建一個(gè)項(xiàng)目有兩種背景:

  • 一種是沒(méi)有系統(tǒng),需要重新建立;

  • 一種是有老系統(tǒng),但是因?yàn)榉N種原因,需要新建一個(gè)系統(tǒng)把老系統(tǒng)替換掉(或替換部分功能);

  • 我們算是后者,老系統(tǒng)已經(jīng)運(yùn)行多年,主要工作是對(duì)外提供接口服務(wù),現(xiàn)在服務(wù)的效率和抗壓性都無(wú)法滿足業(yè)務(wù)需求。

需求梳理

需求,在開(kāi)發(fā)之前一定要明確需求。因?yàn)槭菍?duì)老系統(tǒng)的改造,所以需求相對(duì)來(lái)說(shuō)比較明確。

  • 梳理老系統(tǒng)有多少接口,壓力比較大的接口有哪些,確定接口遷移的優(yōu)先級(jí)。

  • 確定第一批遷移的接口之后,需要對(duì)接口的處理邏輯進(jìn)行梳理,包括出參入?yún)⒍际鞘裁矗瑢?duì)參數(shù)有哪些校驗(yàn),出參的是從什么表的什么字段取得,查詢條件是什么,是否對(duì)數(shù)據(jù)進(jìn)行了加工、轉(zhuǎn)移等處理。

  • 主要是通過(guò)“扒代碼”的手段,這一步很痛苦(程序員們都懂的)。

壓力預(yù)估

因?yàn)槭抢细男拢瑝毫θ菀最A(yù)估出來(lái),我們主要關(guān)注的幾個(gè)點(diǎn):

  • 現(xiàn)有系統(tǒng)的數(shù)據(jù)量有多少,年增長(zhǎng)的數(shù)據(jù)量是多少。

  • 多少系統(tǒng)在調(diào)用,大概服務(wù)器的數(shù)量是多少。

  • 平均每天的調(diào)用量,如果業(yè)務(wù)幾種在某些時(shí)間段內(nèi),比如工作時(shí)間,那么就要估計(jì)出每小時(shí)的量大概是多少。

  • 業(yè)務(wù)高峰期的時(shí)候,量有多少。

架構(gòu)設(shè)計(jì)

其實(shí)我也是野路子出身,我在做這一步所做的工作有這些:

  • 整理項(xiàng)目的功能點(diǎn),比如我們這個(gè)項(xiàng)目主要功能有:數(shù)據(jù)抽取、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)加工、服務(wù)提供;這一步形成整體的功能架構(gòu)。

  • 對(duì)每個(gè)大的功能點(diǎn),評(píng)估需要使用的資源,拿數(shù)據(jù)加工為例:數(shù)據(jù)加工主要就是批處理,需要Tomcat部署Java程序,需要Redis做分布式鎖和緩存,需要MongoDB做加工后的數(shù)據(jù)存儲(chǔ);這一步形成整體的方案規(guī)劃。

  • 繼續(xù)詳細(xì)的評(píng)估,根據(jù)前期統(tǒng)計(jì)的數(shù)據(jù)量,對(duì)MongoDB的部署進(jìn)行評(píng)估:是否需要分片,如果分片的話,前期部署幾個(gè)分片,容量申請(qǐng)多少;當(dāng)這些評(píng)估都做完之后,就可以把一個(gè)一個(gè)的點(diǎn)匯總起來(lái),就形成了物理部署架構(gòu)。

  • 到了這一步,基本上技術(shù)架構(gòu)圖也就出來(lái)了。

  • 在設(shè)計(jì)過(guò)程中,還要和很多人進(jìn)行溝通,比如DBA、比如領(lǐng)導(dǎo)。

開(kāi)發(fā)

到了開(kāi)發(fā)階段,我依然在。

  • 這時(shí)候,一邊招人(招人有些晚了),一邊搭框架;一邊面試,一邊寫(xiě)代碼。

  • 最后開(kāi)發(fā)人員招的差不多的時(shí)候,我從無(wú)到有,第一個(gè)接口基本上開(kāi)發(fā)完成了...


現(xiàn)在嘛,我依然在項(xiàng)目里面,溝通需求、設(shè)計(jì)、任務(wù)分配、寫(xiě)寫(xiě)代碼、看看開(kāi)發(fā)人員寫(xiě)的代碼再給他們提提意見(jiàn),如果別的項(xiàng)目組有設(shè)計(jì)或開(kāi)發(fā)方面的問(wèn)題,我也會(huì)幫忙處處主意;

我總覺(jué)得我是個(gè)假的架構(gòu),真的程序員。

我將持續(xù)分享Java開(kāi)發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的見(jiàn)解,希望能得到你的關(guān)注。