集中式架構vs分布式架構

一、集中式架構

如何準確理解集中式架構

1. 集中式架構的定義

集中式架構是一種將系統的所有計算、存儲、數據處理和控制邏輯集中在一個或少數幾個節點上運行的架構模式。這些中央節點(服務器或主機)作為系統的核心,負責處理所有用戶請求和業務邏輯,客戶端只負責請求和展示。

2. 核心特性
  • 單一控制中心: 所有服務和資源都由中央節點統一管理。
  • 資源集中管理: 數據和計算資源位于同一位置,便于維護和擴展。
  • 高一致性: 由于資源集中管理,數據一致性容易實現。
  • 低通信復雜度: 客戶端只需與中央節點交互,不需要節點間通信協調。

集中式架構都包括哪些架構?

集中式架構可以分為以下幾種常見的架構形式:

1. 客戶端-服務器架構(C/S 架構)
  • 定義: 系統由客戶端和服務器兩部分組成,客戶端負責用戶交互,服務器負責業務邏輯和數據存儲。
  • 特點:
    • 客戶端通過特定協議(如 TCP/IP)與服務器通信。
    • 服務器集中處理所有業務邏輯和存儲數據。
  • 典型場景:
    • 企業辦公系統(如舊版郵件客戶端、OA 系統)。
    • 數據庫客戶端(如 MySQL Workbench)。
2. 單體架構(Monolithic Architecture)
  • 定義: 所有功能模塊(如業務邏輯、數據訪問、用戶界面)在一個應用程序中實現,運行在一個中央服務器上。
  • 特點:
    • 應用高度耦合,部署和維護簡單。
    • 隨著規模增大,可能難以擴展。
  • 典型場景:
    • 小型電商網站。
    • 初創階段的單一業務系統。
3. 主機-終端架構
  • 定義: 中央主機(Mainframe)負責處理所有業務邏輯和存儲數據,終端設備僅負責顯示和輸入。
  • 特點:
    • 主機提供強大的計算能力和存儲能力。
    • 終端設備功能簡單,依賴主機運行。
  • 典型場景:
    • 傳統銀行系統(如老式 ATM 系統)。
    • 早期的政府管理系統。
4. 集中式數據庫架構
  • 定義: 數據庫集中存儲在一個中央節點上,所有的讀寫操作都通過該節點進行。
  • 特點:
    • 數據一致性高。
    • 性能和可靠性依賴于中央數據庫的能力。
  • 典型場景:
    • 中小型企業的 ERP 系統。
    • 單服務器運行的 CRM 系統。

案例分析與說明

案例 1:銀行核心業務系統
  • 架構形式: 主機-終端架構。
  • 工作方式:
    • 客戶端(如銀行柜員系統)向中央主機發送請求。
    • 主機處理業務邏輯(如賬戶余額查詢、轉賬)并返回結果。
  • 優點:
    • 高度安全,所有敏感數據只存儲在中央主機。
    • 數據一致性容易維護。
  • 缺點:
    • 隨著客戶增加,主機可能成為性能瓶頸。
案例 2:傳統電商網站
  • 架構形式: 單體架構。
  • 工作方式:
    • 一個服務器托管整個網站,包括用戶管理、商品展示、支付功能。
    • 用戶通過瀏覽器訪問服務器,所有請求集中處理。
  • 優點:
    • 部署和維護簡單,適合初期開發。
    • 開發周期短,成本低。
  • 缺點:
    • 難以應對高并發。
    • 模塊間耦合度高,擴展困難。
案例 3:集中式數據庫
  • 架構形式: 集中式數據庫架構。
  • 工作方式:
    • 應用程序通過 SQL 查詢中央數據庫,完成數據的讀寫。
  • 優點:
    • 數據強一致性,事務處理方便。
    • 易于管理備份和恢復。
  • 缺點:
    • 單點故障風險高。
    • 難以處理大規模并發讀寫。

集中式架構的優缺點

優點
  1. 開發簡單: 系統架構簡單,適合快速構建和部署。
  2. 高一致性: 數據和邏輯集中管理,不易出現分布式一致性問題。
  3. 安全性強: 數據存儲在中央節點,便于統一實施安全策略。
  4. 易于維護: 故障排查和版本更新集中在中央節點上。
缺點
  1. 單點故障: 中心節點宕機時,整個系統將不可用。
  2. 擴展性差: 隨著用戶增長,單一節點容易成為瓶頸。
  3. 性能受限: 中央節點的處理能力限制了系統的整體性能。
  4. 地理延遲問題: 地理位置遠的客戶端訪問中心節點可能會有較高延遲。

總結

  • 集中式架構的核心思想: 將系統的計算和存儲集中在一個中心位置,以實現簡單高效的管理和一致性保障。
  • 常見形式: 客戶端-服務器架構、單體架構、主機-終端架構、集中式數據庫架構。
  • 典型場景:
    • 中小型系統或初創項目(開發簡單,部署成本低)。
    • 數據一致性要求較高的場景(如銀行系統、庫存管理)。

集中式架構適合小規模、低復雜度的場景,但在需要擴展性和容錯性時,通常會向分布式架構演進。

二、分布式架構

如何準確理解分布式架構

1. 分布式架構的定義

分布式架構是一種將計算、存儲和業務邏輯分散到多個獨立節點(服務器或機器)上的架構模式。這些節點通過網絡協同工作,共同完成任務。分布式架構旨在提高系統的性能、擴展性、容錯性和可用性。

2. 核心特性
  1. 分布式計算: 各個節點分擔計算任務,提升處理能力。
  2. 分布式存儲: 數據分散存儲在不同節點上,便于擴展和容錯。
  3. 高可用性: 單個節點故障不會導致整個系統宕機。
  4. 擴展性強: 可以通過增加節點水平擴展系統能力。
  5. 通信協調: 節點間通過網絡通信進行數據同步和任務分配。

分布式架構都包括哪些架構?

分布式架構包含以下常見的架構模式:

1. 分布式計算架構
  • 定義: 將一個大任務分解為多個小任務,分發到不同節點處理,最后匯總結果。
  • 特點:
    • 適用于計算密集型任務。
    • 典型實現有 MapReduce、Hadoop 等框架。
  • 典型場景:
    • 大數據分析。
    • 科學計算(如基因分析、氣象模擬)。
2. 分布式存儲架構
  • 定義: 數據被分散存儲在多個節點上,提供高容量和高可用的數據服務。
  • 特點:
    • 支持高并發訪問。
    • 提供數據分片、冗余備份和自動恢復能力。
  • 典型場景:
    • 云存儲(如 Amazon S3、Google Cloud Storage)。
    • 分布式數據庫(如 MongoDB、Cassandra)。
3. 微服務架構
  • 定義: 將系統劃分為多個獨立的小服務,每個服務負責一個具體功能,并通過 API 通信。
  • 特點:
    • 服務獨立部署和擴展。
    • 每個服務可以使用不同的技術棧。
  • 典型場景:
    • 電商系統(如訂單服務、支付服務、庫存服務)。
    • SaaS 應用。
4. 服務網格(Service Mesh)架構
  • 定義: 專注于微服務間通信的管理和優化,通過代理節點實現服務發現、負載均衡、流量控制等功能。
  • 特點:
    • 提供服務間通信的可觀測性和安全性。
    • 常見實現:Istio、Linkerd。
  • 典型場景:
    • 大規模微服務集群。
5. 分布式消息隊列架構
  • 定義: 基于發布-訂閱模型,提供異步消息通信和解耦功能。
  • 特點:
    • 消息持久化和高吞吐。
    • 常見實現:Kafka、RabbitMQ、ActiveMQ。
  • 典型場景:
    • 日志處理、事件流處理。
6. 分布式事務架構
  • 定義: 在分布式系統中,保證事務操作具有原子性、一致性、隔離性和持久性(ACID)。
  • 特點:
    • 常用的協議有兩階段提交(2PC)、三階段提交(3PC)。
    • 分布式事務協調器管理事務狀態。
  • 典型場景:
    • 銀行跨行轉賬系統。
    • 電商訂單支付和庫存扣減。
7. 點對點架構(P2P)
  • 定義: 所有節點都具有對等地位,可以既是服務的消費者,又是服務的提供者。
  • 特點:
    • 無中心化控制,節點自主工作。
    • 適用于分布式文件共享和區塊鏈。
  • 典型場景:
    • 區塊鏈(如比特幣、以太坊)。
    • 文件共享(如 BitTorrent)。

案例分析與說明

案例 1:Hadoop 分布式計算
  • 架構形式: 分布式計算架構。
  • 工作方式:
    • 使用 MapReduce 將大任務拆分為多個小任務,分發到各個計算節點。
    • 各節點并行處理數據,并將結果匯總。
  • 應用場景:
    • 大數據處理(如日志分析、機器學習)。
案例 2:Amazon S3 云存儲
  • 架構形式: 分布式存儲架構。
  • 工作方式:
    • 數據存儲在多個地理位置的服務器上,提供高可用性和冗余備份。
    • 用戶通過 API 訪問存儲資源。
  • 應用場景:
    • 靜態文件托管。
    • 數據備份和歸檔。
案例 3:電商系統中的微服務架構
  • 架構形式: 微服務架構。
  • 工作方式:
    • 用戶下單請求由訂單服務處理,庫存服務檢查商品庫存,支付服務處理付款。
    • 各個服務通過 REST 或 RPC 互相通信。
  • 應用場景:
    • 大型電商平臺(如淘寶、亞馬遜)。
案例 4:Kafka 消息隊列
  • 架構形式: 分布式消息隊列架構。
  • 工作方式:
    • 系統中不同模塊通過 Kafka 發布或訂閱消息,解耦模塊間的依賴。
  • 應用場景:
    • 實時日志處理。
    • 數據流處理。

分布式架構的優缺點

優點
  1. 高擴展性: 可以通過增加節點水平擴展處理能力。
  2. 高可用性: 某些節點故障不會影響整體系統。
  3. 性能優越: 各節點分擔工作負載,減少單點壓力。
  4. 靈活性強: 可以根據不同需求調整節點功能和配置。
缺點
  1. 復雜性高: 節點間通信、數據同步和協調難度大。
  2. 一致性問題: 需要額外機制保證數據一致性(如 CAP 原則)。
  3. 部署成本高: 涉及更多硬件資源和管理工具。
  4. 調試困難: 故障定位和問題排查復雜。

集中式架構與分布式架構對比

特性集中式架構分布式架構
控制方式單點控制,所有功能集中于中心節點多節點協同工作,共同完成任務
擴展性擴展性差,中心節點可能成為瓶頸擴展性強,可水平擴展節點數量
容錯性單點故障影響整體系統單節點故障不會影響整體可用性
一致性一致性強,數據集中管理需要復雜機制保證一致性(可能是最終一致性)
復雜性設計和維護簡單設計復雜,涉及節點間協調和通信

總結

  • 分布式架構的核心思想: 通過分布和并行,提升系統的性能、擴展性和容錯能力。
  • 常見形式: 分布式計算、分布式存儲、微服務架構、服務網格等。
  • 典型場景:
    • 數據處理場景(如 Hadoop)。
    • 高并發系統(如微服務電商)。
    • 數據共享和協作(如區塊鏈)。

分布式架構適用于大規模、高并發、高可用的場景,但設計和維護的復雜性需要更多的技術投入和運維保障。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66034.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66034.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66034.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據挖掘實訓:天氣數據分析與機器學習模型構建

隨著氣候變化對各行各業的影響日益加劇,精準的天氣預測已經變得尤為重要。降雨預測在日常生活中尤其關鍵,例如農業、交通和災害預警等領域。本文將通過機器學習方法,利用歷史天氣數據預測明天是否會下雨,具體內容包括數據預處理、…

kalilinux - 目錄掃描之dirsearch

情景導入 先簡單介紹一下dirsearch有啥用。 假如你現在訪問一個網站,例如https://www.example.com/ 它是一個電商平臺或者其他功能性質的平臺。 站在開發者的角度上思考,我們只指導https://www.example.com/ 但不知道它下面有什么文件,文…

關于 ThinkPHP 與 PostgreSQL 結合使用的一些要點

ThinkPHP 是一款流行的 PHP 開發框架,而 PostgreSQL 是功能強大的開源關系型數據庫。它們可以結合使用來開發各類應用,以下是關于 ThinkPHP 與 PostgreSQL 結合使用的一些要點: 配置數據庫連接 編輯配置文件:在 ThinkPHP 項目中&…

進程同步之信號量機制

信號量機制 信號量機制是一種用于進程同步和互斥的基本工具,特別是在并發編程中,廣泛用于控制對共享資源的訪問,避免數據競爭和死鎖等問題。信號量機制由荷蘭計算機科學家Edsger Dijkstra在1965年提出,并在操作系統的進程同步中發…

SOME/IP協議詳解 基礎解讀 涵蓋SOME/IP協議解析 SOME/IP通訊機制 協議特點 錯誤處理機制

車載以太網協議棧總共可劃分為五層,分別為物理層,數據鏈路層,網絡層,傳輸層,應用層,其中今天所要介紹的內容SOME/IP就是一種應用層協議。 SOME/IP協議內容按照AUTOSAR中的描述,我們可以更進一步…

springboot vue uniapp 仿小紅書 1:1 還原 (含源碼演示)

線上預覽: 移動端 http://8.146.211.120:8081/ 管理端 http://8.146.211.120:8088/ 小紅書憑借優秀的產品體驗 和超高人氣 目前成為筆記類產品佼佼者 此項目將詳細介紹如何使用Vue.js和Spring Boot 集合uniapp 開發一個仿小紅書應用,憑借uniapp 可以在h5 小程序 app…

基于celery的任務管理,本文主要是處理自己的算法,暴露API,管理任務并發,多線程

基于celery的任務管理,本文主要是處理自己的算法,暴露API,管理任務并發,多線程 基本需求描述潛在問題主函數配置文件 基本需求描述 暴露API,供其他人調用算法。方便查看任務狀態。因為服務器資源有限,控制…

Java(7)常用的工具類

1.Collections集合工具類 內置了大量對集合操作的靜態方法,可以通過類名直接調用方法。 方法的種類:最大值max、最小值min、sort排序...詳見API幫助文檔 import java.util.ArrayList; import java.util.Collections; import java.util.List;public cl…

【Varnish】:解決 Varnish 7.6 CDN 靜態資源緩存失效問題

項目場景: 在一個使用Varnish作為反向代理的Web應用中,我們依賴CDN(內容分發網絡)來緩存靜態資源(如圖片、CSS、JavaScript文件等),以提高全球用戶的訪問速度并減輕源站服務器的負載。然而&…

理解機器學習中的參數和超參數

在機器學習中,參數和超參數是兩個重要但不同的概念,它們共同影響模型的性能和表現。以下是它們的定義和區別,以及如何通俗地理解它們: 1. 參數 定義 參數是模型在訓練過程中自動學習到的變量,它們直接決定了模型如何…

Win11右鍵菜單實現

主要參考Win11 Context Menu Demo 此工程是vs2022編譯,vs2019先修改下 base.h 方可編譯過 編譯好dll以后 拷貝至SparsePackage目錄下 生成稀疏包msix 就拿他工程里面的改,編輯AppxManifest.xml,配置都要對,一個不對可能都失敗&a…

R.swift庫的詳細用法

R.swift 是一個 Swift 工具庫,它提供了一個自動生成的類 R,使得你可以通過類型安全的方式訪問項目中的資源,例如圖片、字體、顏色、XIB 文件等。通過 R.swift,你可以避免字符串類型的錯誤,提升代碼的可維護性。 以下是 R.swift 庫的詳細用法: 1. 安裝 R.swift 使用 Sw…

像JSONDecodeError: Extra data: line 2 column 1 (char 134)這樣的問題怎么解決

問題介紹 今天處理返回的 JSON 的時候,出現了下面這樣的問題: 處理這種問題的時候,首先你要看一下當前的字符串格式是啥樣的,比如我查看后發現是下面這樣的: 會發現這個字符串中間沒有逗號,也就是此時的J…

what?ngify 比 axios 更好用,更強大?

文章目錄 前言一、什么是ngify?二、npm安裝三、發起請求3.1 獲取 JSON 數據3.2 獲取其他類型的數據3.3 改變服務器狀態3.4 設置 URL 參數3.5 設置請求標頭3.6 與服務器響應事件交互3.7 接收原始進度事件3.8 處理請求失敗3.9 Http Observables 四、更換 HTTP 請求實現…

Linux Kernel 之十 詳解 PREEMPT_RT、Xenomai 的架構、源碼、構建及使用

概述 現在的 RTOS 基本可以分為 Linux 陣營和非 Linux 陣營這兩大陣營。非 Linux 陣營的各大 RTOS 都是獨立發展,使用上也相對獨立;而 Linux 陣營則有多種不同的實現方法來改造 Linux 以實現實時性要求。本文我們重點關注 Linux 陣營的實時內核實現方法! 本文我們重點關注 …

【拒絕算法PUA】3065. 超過閾值的最少操作數 I

系列文章目錄 【拒絕算法PUA】0x00-位運算 【拒絕算法PUA】0x01- 區間比較技巧 【拒絕算法PUA】0x02- 區間合并技巧 【拒絕算法PUA】0x03 - LeetCode 排序類型刷題 【拒絕算法PUA】LeetCode每日一題系列刷題匯總-2025年持續刷新中 C刷題技巧總結: [溫習C/C]0x04 刷…

ClickHouse-CPU、內存參數設置

常見配置 1. CPU資源 1、clickhouse服務端的配置在config.xml文件中 config.xml文件是服務端的配置,在config.xml文件中指向users.xml文件,相關的配置信息實際是在users.xml文件中的。大部分的配置信息在users.xml文件中,如果在users.xml文…

《自動駕駛與機器人中的SLAM技術》ch9:自動駕駛車輛的離線地圖構建

目錄 1 點云建圖的流程 2 前端實現 2.1 前端流程 2.2 前端結果 3 后端位姿圖優化與異常值剔除 3.1 兩階段優化流程 3.2 優化結果 ① 第一階段優化結果 ② 第二階段優化結果 4 回環檢測 4.1 回環檢測流程 ① 遍歷第一階段優化軌跡中的關鍵幀。 ② 并發計算候選回環對…

type 屬性的用途和實現方式(圖標,表單,數據可視化,自定義組件)

1.圖標類型 <uni-icon>組件中&#xff0c;type可以用來指定圖標的不同樣式。 <uni-icons type"circle" size"30" color"#007aff"></uni-icons> //表示圓形 <uni-icons type"square" size"30" co…

網絡基礎知識指南|1-20個

1. IP地址: 即互聯網協議地址&#xff0c;是用于標識互聯網上的每一個設備或節點的唯一地址。IP地址的作用主要是進行網絡設備的定位和路由&#xff0c;確保數據包可以從源設備準確地傳送到目標設備。2. 子網掩碼: 是用于將一個IP地址劃分為網絡地址和主機地址的工具。它通常與…