欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

架構師在做一個網站的架構時要做哪些工作(按順序排列)?

黃文隆2年前13瀏覽0評論

我是一個假的架構師,真的程序員。

現在所在的項目,是去年八九月份啟動的,雖然不是一個網站,但是大部分工作都是類似的,那么我給大家介紹一下這半年我做了哪些工作。

一般新建一個項目有兩種背景:

  • 一種是沒有系統,需要重新建立;

  • 一種是有老系統,但是因為種種原因,需要新建一個系統把老系統替換掉(或替換部分功能);

  • 我們算是后者,老系統已經運行多年,主要工作是對外提供接口服務,現在服務的效率和抗壓性都無法滿足業務需求。

需求梳理

需求,在開發之前一定要明確需求。因為是對老系統的改造,所以需求相對來說比較明確。

  • 梳理老系統有多少接口,壓力比較大的接口有哪些,確定接口遷移的優先級。

  • 確定第一批遷移的接口之后,需要對接口的處理邏輯進行梳理,包括出參入參都是什么,對參數有哪些校驗,出參的是從什么表的什么字段取得,查詢條件是什么,是否對數據進行了加工、轉移等處理。

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

壓力預估

因為是老改新,壓力容易預估出來,我們主要關注的幾個點:

  • 現有系統的數據量有多少,年增長的數據量是多少。

  • 多少系統在調用,大概服務器的數量是多少。

  • 平均每天的調用量,如果業務幾種在某些時間段內,比如工作時間,那么就要估計出每小時的量大概是多少。

  • 業務高峰期的時候,量有多少。

架構設計

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

  • 整理項目的功能點,比如我們這個項目主要功能有:數據抽取、數據存儲、數據加工、服務提供;這一步形成整體的功能架構。

  • 對每個大的功能點,評估需要使用的資源,拿數據加工為例:數據加工主要就是批處理,需要Tomcat部署Java程序,需要Redis做分布式鎖和緩存,需要MongoDB做加工后的數據存儲;這一步形成整體的方案規劃。

  • 繼續詳細的評估,根據前期統計的數據量,對MongoDB的部署進行評估:是否需要分片,如果分片的話,前期部署幾個分片,容量申請多少;當這些評估都做完之后,就可以把一個一個的點匯總起來,就形成了物理部署架構。

  • 到了這一步,基本上技術架構圖也就出來了。

  • 在設計過程中,還要和很多人進行溝通,比如DBA、比如領導。

開發

到了開發階段,我依然在。

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

  • 最后開發人員招的差不多的時候,我從無到有,第一個接口基本上開發完成了...


現在嘛,我依然在項目里面,溝通需求、設計、任務分配、寫寫代碼、看看開發人員寫的代碼再給他們提提意見,如果別的項目組有設計或開發方面的問題,我也會幫忙處處主意;

我總覺得我是個假的架構,真的程序員。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。