預測師的架構入門學習總結

寫在前面

前段時間一直在學習架構設計的相關知識,對架構的演化有了一點點自己的理解,本篇是我的架構入門總結,21年年初應該會接觸一些項目拆分的工作,也希望學到的內容可以應用於實踐。本文未來還會補充更多細節。

架構是什麼

這是我讀阿里技術博客的一篇文章總結的:
在這裏插入圖片描述
爲什麼需要架構設計呢?或者說架構設計爲什麼這麼重要呢?
架構設計的主要目的不是爲了拆分任務,不是爲了實現業務需求,甚至不是爲了實現高性能和高可靠的系統。
架構設計的主要目的是爲了解決系統複雜度帶來的問題。



架構的一般需求

高性能,高可用,可擴展

架構的演化流程

單機部署->動靜分離->集羣化->讀寫分離->分庫分表->垂直拆分->微服務->引入消息隊列

架構設計原則

李運華大佬總結的原則:
在這裏插入圖片描述
縱觀淘寶的發展,也能看到類似的架構設計原則,過早優化是萬惡之源,架構設計是門取捨的藝術。

架構設計方法論

我自己設計的架構設計方法論:先頭腦風暴,再權衡利弊,再挑best one。詳細來說,就是包含如下幾個流程:
1.看下公司體量,理解清除業務(領域驅動),理清楚業務的複雜度。
2.根據業務抽象出架構的框架,弄清楚爲了實現業務帶來的系統複雜度。
3.找到公司裏已經使用的技術,包括自研技術和開源技術。
4.根據每個技術的特點進行設計,以及綜合根據業務的場景和未來半年時間可能達到的量等考量,進行設計。
5.設計三個方案,進行優劣分析,然後綜合別人的意見選出最棒的方案。




對架構師的要求

李運華說,架構師的內功主要包括判斷力(準確判斷系統複雜度),執行力(用合適的方案解決問題),創新力(創造新的方案解決複雜問題)。
因此在成長爲架構師的過程中,要不斷積累經驗(10000小時理論),拓寬視野(泡腦子的過程),深度思考(歸納總結,舉一反三)。(PS:學習成長也是這個道理,貼一張今天技術羣剛剛討論的結論)
在這裏插入圖片描述
此外,要成爲架構師,還需要這十二項修煉Java程序員必備的12項軟技能


參考資料

《大型網站技術架構》
《從0開始學架構》
《淘寶技術這十年》
《架構設計:大型互聯網架構演化簡史》
《軟件架構師12項修煉》



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章