高併發系統設計 軟體架構

2021-10-08 22:28:38 字數 705 閱讀 5867

單體架構

單體架構一般用於專案初期,方便盡早的將專案搭建起來。主要有以下特點:

開發簡單,**和專案集中式管理;

運維簡單,節省維護成本

排查問題簡單,方便問題定位

當專案規模變大時,也會遇到以下問題:

容易形成瓶頸,當所有功能處於乙個程式中,請求量變大後,容易占用過多資源

**管理麻煩,開發人員變多後,容易形成衝突

功能耦合嚴重,模組間相互影響

任何小的修改,都需要重新構建、發版、公升級

微服務架構

對於單體架構在系統規模變大後,可以能過微服務拆分來解決這些問題。

微服務拆分原則:

單一服務內部功能的高內聚和低耦合

需要關注服務拆分的粒度,先粗略拆分再逐漸細化

拆分的過程,要盡量避免影響產品的日常功能迭代

服務介面的定義要具備可擴充套件性

將系統做微服務拆分之後,並不能一勞永逸解決所有問題,在拆分會引入複雜性的問題。

服務介面的呼叫不再是同一程序內的方法呼叫而是跨程序的網路呼叫,這會增加介面響應時間的增加。服務數量的增多,增加了服務位址維護的成本,所以引用註冊中心來進行服務的註冊與發現。

多個服務之間有著錯綜複雜的依賴關係,為了降低服務間的相互影響, 引入熔斷、降級、限流、超時控制等服務治理方法。

服務拆分到多個程序後,一條請求會涉及多個服務,對於異常情況如何快速定位問題,引入了分布式追蹤及服務端監控。

高併發高負載系統架構

一 為什麼要進行高併發和高負載的研究 1 產品發展的需要 2 公司發展的需要 3 當前形式決定的 二 高併發和高負載的約束條件 1 硬體 2 部署 3 作業系統 4 web 伺服器 5 php 6 mysql 7 測試 三 解決之道 硬體篇 處理能力的提公升 部署多顆cpu,選擇多核心 具備更高運算...

高併發高負載系統架構

首先呢,我羅列一下文章的目錄,讓大家有個整體輪廓的了解!1 為什麼要進行高併發和高負載的研究 2 高併發和高負載的約束條件 3 解決之道 硬體篇 4 解決之道 部署篇 5 解決之道 環境篇 6 解決之道 siteengine篇 7 解決之道 測試篇 8 結尾 1 為什麼要進行高併發和高負載的研究 1...

高併發系統設計

高併發系統主要是為了解決在有限的資源下解決最核心的問題,並發現以後可能會出現的問題。高併發原則一般遵守如下幾個設計原則 1.無狀態 指的是應用在處理業務邏輯期間盡量減少鎖的使用 降低網路通訊延遲 無資料持久化操作等,以此來增加應用系統的效能。2.拆分 大而全的系統,可根據實際的訪問量來拆分系統,來實...