標籤:
app架構,一個聽起來高大尚的名字,很多小夥伴聽到這個詞語感覺很迷茫,不知道架構具體說的是啥?在q群裡,"app後端應該怎麼架構"這個問題被問了無數次。通過閱讀本文,根據本人提出的一個通用的架構設計的架構,幫你踏入架構的大門。
在百度百科中,對架構的定義是:網站架構,一般認為是根據客戶需求分析的結果,準確定位網站目標群體,設定網站整體架構,規劃、設計網站欄目及其內容,制定網站開發流程及順序,以最大限度地進行高效資源分派與管理的設計。
看到上面的解析,估計很多新手都會搞暈。
根據自己5年的互連網開發經驗,為了協助新手快速入門,特地提煉出一個通用的架構設計的架構:
1. 有什麼業務
2. 遇到什麼問題
3. 有什麼可行的技術解決方案
掌握了以上的架構設計的架構,有什麼好處呢?
(1)不怕被別人的架構文章搞暈
當在網路上看到別人的架構分享時,套用這個架構的架構,問自己這3個問題:作者講是在什麼商務邏輯上,遇到哪些問題,採用了哪些技術解決方案。通過這個架構,能協助你快速提煉出別人架構的核心點,掌握這個架構的精髓。
(2)能快速地整理合適的架構
當在設計app的架構時,根據架構的架構,可採用下面的4個點設計app架構:
1. 根據app的設計,梳理出app的商務程序,把每個商務程序列出來
2. 把每個商務程序中會遇到的問題整理出來
3. 根據整理出的問題,探討可行的技術解決方案
4. 把3中的所有的技術解決方案有機融合,就是一個app的架構了。
另外,從對架構的架構上可看出,架構設計上的以下特點:
(1)架構是和業務緊密相關的
每個app都有獨自的商務邏輯,遇到的問題也不會一樣的,解決方案也不一樣,因此架構也不盡相同。
經常在qq上被人問到:"app後端應該採用什麼價格?"大哥,我不瞭解你的商務邏輯,不知道你會遇到哪些問題,怎麼知道你需要使用哪些技術方案,架構根本無從談起。
(2)架構的演變是由業務驅動
當app處於不同的發展階段,架構上也需要做變化。
例如,驗證使用者的token,一開始沒啥使用者的時候,可能直接在用簡單的sql查詢語句就能搞定,但隨著使用者的增長,伺服器的壓力越來越大,查詢速度越來越慢,可能就要遷移到nosql中驗證。
但同時要考慮一個問題,如果初期架構上的不合理,到了後期,因為業務的發展需要改變架構是很困難.但是初期要弄一個好的架構,又可能耽誤後端的研發進度,使整個app的上架時間延遲,這時又要面對巨大的資金和時間壓力,具體怎麼取使,要各位小夥伴認真考慮,馬虎不得。
(3)架構不是為了炫耀技術
架構是為了滿足業務的需求而設計的,技術人員不應過度設計,學了一堆最新最炫的技術,都把它放進架構,而不是根據實際的需求來做。
技術是為了滿足業務而存在的,過度設計,不但延誤了整個app的研發周期,也可能給營運帶來了很多不必要的麻煩。
總結:
在app成長的過程中,背景架構也需要不斷成長。技術人員,也需要跟上這個成長的步伐。
---------------------------------------------------------------------------------------------------------------------------
開啟連結 app後端系列文章總目錄 總目錄 ,能查看本人發表過的所有原創“app後端”文章。
【作者】曾健生
【QQ】190678908
【qq群】254659220
【公眾號】 appbackend
【新浪微博】 @newjueqi
【部落格】http://blog.csdn.net/newjueqi
6.app架構基礎