架構設計的目的:主要是為了解決軟件系統復雜度帶來的問題。首先,要根據系統復雜點決策使用何種解決方案;其次,再考慮用優秀的軟件框架使得代碼實現更牛X。
架構設計也主要服務于:
* 業務架構:是對業務需求的提煉和抽象。
* 業務量級:主要是軟件運維期間業務的復雜度。要考慮:
* 存儲能力
* 吞吐能力
* 容錯能力
架構設計的選擇:
* 距離/時間
* 成本
* 性能
軟件系統復雜度體現在
* 性能
* 系統被訪問的頻率,tips/秒。
* 系統的數據存儲是否是瓶頸。
* 延遲。秒級要用到流式計算;分鐘級用后臺計算;小時級直接用數據庫。
* 可擴展性
* 高可用性
* 系統宕機時長。可容忍1分鐘、1小時?絕大部分內部系統的宕機時間可以是1小時。
* 數據丟失。絕對不能丟,可以丟一部分再用其他方式修復。
* 安全性
* 成本
- 軟件工程
- 1. 基礎
- 計算
- 網絡
- 存儲
- 2. 開發/運維
- 微服務
- 容器化(Docker)
- 容器網絡
- 持續集成
- 持續發布
- 3. 架構
- 操作系統
- Linux服務器
- windows
- 內存
- 應用軟件
- 前端
- 后端
- 數據庫
- 協議
- 服務
- 分布式
- LNMP+Vue.js
- web網站架構技術
- 架構演化
- 架構分層
- Layer1. Frontend
- Layer2. Application
- Layer3. Service
- Layer4. Storage
- Layer5. Backend
- Layer6. Operation
- Layer7. Security
- Layer8. DataCenter
- 架構模式
- 架構要素
- 1. Performance
- 2. Availability
- 3. 可伸縮性
- 4. 可擴展性
- 5. 安全
- 6. 成本
- 4. 開發項目
- vue-php