架構設計思路

file

前言

咱們通常在作架構設計的時候,會經歷過三個階段:需求分析、概要設計和詳細設計。html

  1. 需求分析階段: 主要梳理全部用例(Use case)和場景,並抽象出面向系統的用戶與角色,梳理出需求提供哪些功能與非功能的需求給這些用戶。
  2. 概要設計階段:根據需求分析的產物:核心需求,對整個系統進行模塊劃分,並定義好模塊之間的交互關係。
  3. 詳細設計階段:經過多個視圖來描述系統的架構,包括但不侷限於:邏輯系統、物理視圖、數據視圖、物理視圖

非功能需求

非功能的需求主要體如今高性能、高可用、可伸縮、可擴展、安全性等維度。數據庫

非功能指標 描述
高性能 運行效率高、響應速度快、吞吐量高
可用性 縮短宕機時間、出錯恢復、SLA 在線可用時間
可伸縮性 垂直伸縮、水平伸縮
可擴展性 可插拔、組件重用
安全性 數據安全、加密、防攻擊
魯棒性 容錯性、可恢復性

非功能需求對應不一樣系統指標

非功能需求對應不一樣系統指標主要分爲 4 部分:緩存

  • 應用服務器
  • 數據庫
  • 緩存
  • 消息隊列

1. 應用服務器

應用服務器是請求的入口,全部流量都是經過應用服務器來轉發的。主要關心 QPS 、RT 等指標。
容量與性能相關指標以下所示安全

1. 天天的請求量
2. 各接口的訪問峯值
3. 平均響應時間
4. 最大響應時間
5. 請求大小
6. 網卡與磁盤 I/O 負責
7. 內存使用狀況
8. CPU 使用狀況

2. 數據庫

部署結構相關指標服務器

1. 複製模型
2. 失效轉移策略
3. 容災策略
4. 歸檔策略
5. 讀寫分離策略
6. 分庫分表策略

容量與性能相關指標以下所示數據結構

1. 當前數據容量
2. 預估數據容量
3. 每秒讀峯值
4. 每秒寫峯值
5. 每秒事務峯值

3. 緩存

部署結構相關指標架構

1. 複製模型
2. 失效轉移
3. 持久策略
4. 淘汰策略
5. 線程模型

容量與性能相關指標分佈式

1. 緩存內容大小
2. 緩存內容數量
3. 緩存內容過時時間
4. 緩存數據結構
5. 每秒讀峯值
6. 每秒寫峯值

4. 消息隊列

部署結構相關指標性能

1. 複製模型
2. 失效轉移
3. 持久策略

容量與性能相關指標加密

1. 天天平均數據增量
2. 消息保存時間
3. 每秒讀峯值
4. 每秒寫峯值
5. 每條消息大小
6. 平均響應時間
7. 最大響應時間

參考

  • 分佈式服務架構原理、設計與實戰
相關文章
相關標籤/搜索