《從零開始學架構》筆記 第一部分 概念和基礎

2021-10-07 21:16:06 字數 1085 閱讀 2083

模組:從邏輯角度拆分,主要目的是職責分離

元件:從物理角度拆分,主要目的是單元復用

框架:元件規範(開發規範),提供基礎功能的產品。

架構:對軟體系統結構的描述

2000名程式設計師歷時一年,花費原子彈1/4的投入,生產100w行**。最終以失敗告終。

【人力總會有侷限,當自身的能力不足以應對問題時,除了學習之外,也應該思考是否不是自己的問題,而是問題本身超過了人類的侷限】

整個軟體開發的歷史,就是一部與複雜度鬥爭的歷史。

而架構設計的主要目的就是為了解決複雜度帶來的問題。

問題:

總結:

任務分解和任務分配一樣,有乙個度,超過這個度,效能反而下降。

高可用:系統無中斷的執行功能

本質上通過冗餘來實現高可用。

冗餘:就好像買電瓶車,一次買十輛,第一輛被偷了騎第二輛,第二輛被偷了騎第三輛,依次類推。

可擴充套件(靠經驗)

低成本

低成本和高可用,高效能是衝突的。

引入新技術,創造新技術。

安全

架構與程式設計的鴻溝:不確定性。

程式設計是確定的,不管採用何種方式,執行結果都是肯定的。

而不同的架構可能會產生相同的結果。

合適優於業界領先。

優秀的架構都是在企業當前人力,條件,業務等各種約束下設計出來的。(生搬硬套不可取)

簡單優於複雜。

長城的巨集偉,雪梨歌劇院的藝術感,」複雜「在製造領域代表先進,在建築領域代表領先,但在軟體領域代表問題。

為什麼軟體的複雜會帶來問題???

除了軟體開發的複雜性之外,軟體在投入使用後,需要不斷變化。沒聽說過長城不斷拆了重建吧。

演化優於一步到位。

對於建築來說,永恆是主題;而對於軟體來說,變化才是主題。

軟體架構更像是乙個人類的進化史:

優先解決最主要的複雜度問題。

nginx負載均衡策略的演算法選擇

《從零開始學架構》筆記 第一部分 概念和基礎

模組 從邏輯角度拆分,主要目的是職責分離 元件 從物理角度拆分,主要目的是單元復用 框架 元件規範 開發規範 提供基礎功能的產品。架構 對軟體系統結構的描述 2000名程式設計師歷時一年,花費原子彈1 4的投入,生產100w行 最終以失敗告終。人力總會有侷限,當自身的能力不足以應對問題時,除了學習之...

linux筆記第一部分

開源系統,可以自由傳播,目前後台服務端絕大部分都是linux程式執行平台,主要是因為以下幾點 unix的優秀特性 linux的常用版本redhat和centos,目前主流使用的centos7 centos6安裝鏈結 因linux不同於windows,所以linux事實上並沒有和windows一樣的c...

Axure RP 第一部分

axure rp是乙個專業的快速原型設計工具。axure 發音 ack sure 代表美國axure公司 rp則是rapid prototyping 快速原型 的縮寫。axure rp是美國axure software solution公司旗艦產品,是乙個專業的快速原型設計工具,讓負責定義需求和規格...