分布式網絡

分布式網絡(Distributed Network)指的是一種計算機網絡架構,其中計算資源(計算、存儲、數據處理等)分布在多個物理或邏輯上的節點上,而不是集中在單一的服務器或數據中心中。這種架構的主要目標是提高系統的可靠性、可擴展性和性能

1. 分布式網絡的特點

? 去中心化(Decentralization)

  • 傳統的 集中式網絡(如單臺服務器)會有單點故障(SPOF,Single Point of Failure)。
  • 分布式網絡沒有單一的控制中心,多個節點可以協作完成任務。

? 高可用性(High Availability)

  • 多個副本(如數據庫的主從復制、數據分片)保證系統在部分節點失效時仍能運行。
  • 容錯機制(如Leader選舉、心跳檢測)提高網絡穩定性。

? 可擴展性(Scalability)

  • 通過 增加節點(橫向擴展,scale-out)提升計算能力,而不是僅依賴于單個服務器的升級(縱向擴展,scale-up)。

? 數據一致性(Consistency)

  • CAP 定理(一致性 Consistency、可用性 Availability、分區容忍性 Partition Tolerance)在分布式網絡設計中非常重要,通常需要權衡。

? 異地容災(Disaster Recovery)

  • 分布式架構通常會在多個數據中心部署,防止某個區域的故障影響整個系統。

2. 分布式網絡 vs. 其他網絡架構

架構類型特點示例
集中式網絡(Centralized Network)由單個服務器或數據中心管理所有流量傳統數據庫、單機應用
分布式網絡(Distributed Network)計算、存儲資源分布在多個節點上Hadoop、Spark、分布式數據庫
對等網絡(Peer-to-Peer, P2P)沒有固定的服務器,所有節點都對等

BitTorrent、區塊鏈

3. 分布式網絡的關鍵技術

(1) 分布式存儲

分布式存儲系統能夠跨多個服務器存儲數據,保證數據冗余,提高讀寫性能:

  • HDFS(Hadoop Distributed File System):大數據存儲
  • Ceph、GlusterFS:對象存儲
  • Amazon S3、騰訊云 COS:云存儲

(2) 分布式計算

  • MapReduce(Hadoop 生態):將計算任務拆分成多個任務并行執行。
  • Spark:基于內存的分布式計算引擎,比 MapReduce 更快。
  • Flink:專注于實時流計算。

(3) 分布式數據庫

  • OLTP(事務型數據庫):MySQL + 分片(Sharding)、TiDB、CockroachDB
  • OLAP(分析型數據庫):ClickHouse、Druid、Presto
  • NoSQL 數據庫:HBase(列存儲)、Cassandra(分布式 KV 存儲)

(4) 分布式消息隊列

  • Kafka:高吞吐日志收集、數據流處理
  • RabbitMQ、RocketMQ:事件驅動架構

(5) 分布式協調 & 負載均衡

  • Zookeeper:管理分布式系統中的 leader 選舉、配置管理
  • Nginx、Envoy:負載均衡,均衡分發流量
  • Kubernetes(K8S):容器編排,自動伸縮服務

4. 分布式網絡的典型應用場景

? 大數據處理:Hadoop、Spark 處理海量數據
? 云計算:騰訊云、阿里云、AWS 等提供的云存儲、云計算服務
? 區塊鏈:比特幣、以太坊等采用 P2P 分布式網絡
? CDN(內容分發網絡):加速網站訪問,如 Cloudflare、騰訊 CDN
? 微服務架構:多個服務部署在不同機器上,使用 gRPC、HTTP 進行通信

分布式存儲原理

分布式存儲(Distributed Storage)是一種數據存儲架構,它將數據分布在多個物理或邏輯服務器上,而不是集中在單臺機器上。這樣可以提高數據可用性、擴展性、容錯能力,適用于大規模數據存儲需求。


1. 分布式存儲的核心概念

? 數據分片(Sharding)
將大規模數據拆分成小塊(Shard/Chunk),分布到不同的存儲節點上,提高存儲性能和擴展性。

? 數據副本(Replication)
同一份數據存儲多個副本,保證在部分節點故障時,數據仍然可用,提高數據可靠性。

? 一致性(Consistency)
分布式存儲系統需要確保多副本之間的數據一致性,常見策略:

  • 強一致性(Strong Consistency):所有副本必須同步,保證最新數據(如分布式事務)。
  • 最終一致性(Eventual Consistency):允許短時間的數據不一致,最終會同步(如 DNS、Cassandra)。

? CAP 定理(Consistency、Availability、Partition Tolerance)

  • 一致性(C):所有副本的數據相同
  • 可用性(A):即使部分節點故障,系統仍然可以讀寫
  • 分區容忍性(P):即使網絡分區(節點之間網絡斷開),系統仍能運行

CAP 定理告訴我們:分布式存儲系統不能同時保證 C、A、P,只能二者兼得。
例如:

  • HDFS、BigTable 偏向 CP(強一致性 + 分區容忍性)
  • Cassandra、DynamoDB 偏向 AP(高可用 + 分區容忍性)

2. 分布式存儲架構

(1) 主從架構(Master-Slave)

  • 數據存儲在 主節點(Master),從節點(Slave)同步數據
  • 適用于 數據庫讀多寫少的場景
  • 例如 MySQL 主從復制

? 優點

  • 讀寫分離,提高讀取性能
  • 主節點崩潰后,可以手動或自動選舉新的主節點

? 缺點

  • 主節點負載大,寫入性能有限
  • 主從同步可能存在數據延遲

(2) 去中心化架構(P2P / Shared-Nothing)

  • 無中心化主節點,每個節點都有獨立的存儲和計算能力
  • 采用 一致性哈希(Consistent Hashing) 進行數據分布
  • 適用于 海量數據存儲 & 分布式文件系統
  • 例如 Cassandra、Ceph

? 優點

  • 易于擴展,動態增加節點
  • 容錯能力強,某些節點失效不影響整體

? 缺點

  • 復雜的路由機制
  • 需要高效的副本同步和負載均衡

(3) 分布式文件系統

  • 數據切片存儲到多個存儲節點,并生成多個副本
  • 適用于 大規模非結構化數據
  • 例如 HDFS(Hadoop Distributed File System)

? 優點

  • 支持超大規模存儲(如 PB 級數據)
  • 適用于 流式讀取 場景(如大數據分析)

? 缺點

  • 不適合低延遲場景
  • 寫入吞吐量有限

3. 常見的分布式存儲系統

存儲類型典型系統應用場景
分布式文件系統(DFS)HDFS、Ceph大數據分析、日志存儲
分布式對象存儲Amazon S3、騰訊云 COS云存儲、圖片/視頻存儲
分布式數據庫TiDB、Cassandra、CockroachDB事務型數據庫(OLTP)
分布式KV存儲Redis Cluster、Etcd高性能鍵值存儲
分布式表存儲HBase、BigtableOLAP 分析,時間序列存儲

4. 分布式存儲的關鍵技術

(1) 數據分片(Sharding)

  • Hash 分片:使用 Hash 函數分配數據,如 key % num_shards
  • 范圍分片(Range Partitioning):按數據范圍分片,如 user_id < 1000 -> shard_1
  • 一致性哈希(Consistent Hashing):減少數據遷移,提高擴展性(如 Cassandra)

(2) 數據副本(Replication)

  • 同步復制(Strong Consistency):主節點寫入數據,立即同步到從節點(如 MySQL)
  • 異步復制(Eventually Consistent):主節點寫入數據,從節點異步更新(如 Cassandra)
  • 多主復制(Multi-Master):多個節點可同時寫入,提高吞吐量(如 TiDB)

(3) 數據一致性

  • Paxos / Raft 共識協議:保證數據一致性(如 Etcd、ZooKeeper)
  • Quorum 機制:確保多數派副本更新后才確認寫入(如 Cassandra)

(4) 負載均衡 & 容災

  • 負載均衡(Load Balancing):均衡多個存儲節點的壓力,如 Nginx + LVS
  • 數據修復(Self-Healing):檢測數據丟失并自動恢復,如 HDFS DataNode 檢測

5. 分布式存儲的應用場景

? 大數據分析(HDFS、Hive):存儲 TB 級數據,支持并行計算
? 日志存儲(Kafka + S3):存儲百萬 TPS 的日志數據
? 社交平臺(Cassandra + Redis):支持億級用戶的點贊、評論
? 金融系統(TiDB、CockroachDB):高可用的事務性數據庫


6. 總結

  1. 分布式存儲的核心思想:通過 數據分片 + 副本同步 提高可擴展性、可用性和容錯能力。
  2. 關鍵技術
    • Sharding(分片)
    • Replication(數據副本)
    • Consistency(數據一致性)
    • CAP 定理(一致性、可用性、分區容忍性)
  3. 主流存儲系統:HDFS、Ceph、TiDB、Cassandra、Redis Cluster

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

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

相關文章

【Elasticsearch】Elasticsearch 中使用 HDFS 存儲快照

在 Elasticsearch 中使用 HDFS 存儲快照的步驟如下&#xff1a; 1.安裝 HDFS 插件 要使用 HDFS 存儲 Elasticsearch 的索引快照&#xff0c;需要在 Elasticsearch 集群的所有節點上安裝 HDFS 插件。 ? 在線安裝&#xff1a;適用于網絡環境良好的場景&#xff0c;執行以下命…

淺談 DeepSeek 對 DBA 的影響

引言&#xff1a; 在人工智能技術飛速發展的背景下&#xff0c;DeepSeek 作為一款基于混合專家模型&#xff08;MoE&#xff09;和強化學習技術的大語言模型&#xff0c;正在重塑傳統數據庫管理&#xff08;DBA&#xff09;的工作模式。通過結合其強大的自然語言處理能力、推理…

STM32F4 UDP組播通信:填一填ST官方HAL庫的坑

先說寫作本文的原因&#xff0c;由于開項目開發中需要用到UDP組播接收的功能&#xff0c;但是ST官方沒有提供合適的參考&#xff0c;使用STM32CubeMX生成的代碼也是不能直接使用的&#xff0c;而我在網上找了一大圈&#xff0c;也沒有一個能夠直接解決的方案&#xff0c;deepse…

leetcode日記(85)驗證二叉搜索樹

不難&#xff0c;有兩種解法&#xff08;看答案才想到中序遍歷&#xff09;。 我用的是普通遞歸&#xff0c;和上一題差不多&#xff0c;規定min和max&#xff0c;每次遍歷縮小范圍: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNod…

如何在rust中解析 windows 的 lnk文件(快捷方式)

一、從標題二開始看&#x1f601; 這些天在使用rust寫一個pc端應用程序&#xff0c;需要解析lnk文件獲取lnk的圖標以及原程序地址&#xff0c;之前并沒有過pc端應用程序開發的經驗&#xff0c; 所以在廣大的互聯網上游蕩了兩天。額&#x1f97a; 今天找到了這個庫 lnk_parse很…

啟動wsl里的Ubuntu24報錯:當前計算機配置不支持 WSL2,HCS_E_HYPERV_NOT_INSTALLED

問題&#xff1a;啟動wsl里的Ubuntu24報錯 報錯信息&#xff1a; 當前計算機配置不支持 WSL2。 請啟用“虛擬機平臺”可選組件&#xff0c;并確保在 BIOS 中啟用虛擬化。 通過運行以下命令啟用“虛擬機平臺”: wsl.exe --install --no-distribution 有關信息&#xff0c;請訪…

Python使用FastAPI結合Word2vec來向量化200維的語言向量數值

準備 pip install fastapi>0.68.0 pip install uvicorn[standard]>0.15.0 pip install gensim>4.0.0 pip install jieba>0.42.1 pip install numpy>1.21.0 pip install scikit-learn>1.0.0少了的就直接補充就好 代碼 from fastapi import FastAPI, HTTPExc…

ControlNet

文章目錄 摘要abstract1.ControlNet1.1 原文摘要1.2 模型架構1.3 架構細節1.4 訓練損失函數1.5 實驗1.6 結論 2.總結參考文獻 摘要 本周學習的ControlNet 是一種用于文本到圖像擴散模型&#xff08;如 Stable Diffusion&#xff09;的條件控制方法。它通過凍結預訓練的擴散模型…

Visual-RFT視覺強化微調:用「試錯學習」教會AI看圖說話

&#x1f4dc; 文獻卡 英文題目: Visual-RFT: Visual Reinforcement Fine-Tuning;作者: Ziyu Liu; Zeyi Sun; Yuhang Zang; Xiaoyi Dong; Yuhang Cao; Haodong Duan; Dahua Lin; Jiaqi WangDOI: 10.48550/arXiv.2503.01785摘要翻譯: 像OpenAI o1這樣的大型推理模型中的強化微調…

Hadoop管理頁看不到任務的問題

這個yarn分配任務了但是為空 在$HADOOP_HOME/conf/mapred-site.xml 原來的配置文件基礎之上添加&#xff1a; <property><name>mapreduce.framework.name</name><value>yarn</value></property> 重啟之后就好了

傅里葉變換:跨越時空的數學魔法

引言&#xff1a;從振動到信息——傅里葉的智慧 傅里葉變換&#xff08;Fourier Transform&#xff09;是數學與工程領域最具影響力的工具之一。它的核心思想是將復雜的信號分解為簡單的正弦波和余弦波的疊加&#xff0c;從而揭示隱藏在數據背后的頻率信息。自19世紀法國數學家…

DR和BDR的選舉規則

在 OSPF&#xff08;開放最短路徑優先&#xff09;協議中&#xff0c;DR&#xff08;Designated Router&#xff0c;指定路由器&#xff09; 和 BDR&#xff08;Backup Designated Router&#xff0c;備份指定路由器&#xff09; 的選舉是為了在廣播型網絡&#xff08;如以太網…

【linux網絡編程】套接字編程API詳細介紹

在C語言中&#xff0c;套接字&#xff08;Socket&#xff09;編程主要用于網絡通信&#xff0c;尤其是在基于TCP/IP協議的應用程序開發中。常用的套接字編程API主要基于Berkeley Sockets&#xff08;伯克利套接字&#xff09;接口&#xff0c;這些函數通常在<sys/socket.h&g…

Linux和gcc/g++常用命令總結

目錄 Linux命令總結 文件操作相關命令 ls cd pwd cp mv rm cat mkdir rmdir touch 文本處理操作命令 grep awk sed 進程管理操作相關命令 ps top htop kill pkill killall chmod chown 網絡操作相關命令 ping ifconfig netstat ss lsof curl …

VUE的第二天

1. 指令修飾符 1.1什么是指令修飾符&#xff1f; ? 所謂指令修飾符就是通過“.”指明一些指令后綴 不同的后綴封裝了不同的處理操作 —> 簡化代碼 1.2按鍵修飾符 keyup.enter —>當點擊enter鍵的時候才觸發 代碼演示&#xff1a; <div id"app"><…

WSL with NVIDIA Container Toolkit

一、wsl 下安裝 docker 會提示安裝 docekr 桌面版&#xff0c;所以直接安裝 docker 桌面版本即可 二、安裝 NVIDIA Container Toolkit NVIDIA Container Toolkit倉庫 https://github.com/NVIDIA/nvidia-container-toolkit?github.com/NVIDIA/nvidia-container-toolkit 安裝…

mysql下載

目錄 下載地址&#xff1a; 1.MSI安裝包下載 2.ZIP壓縮包下載 卸載MySQL&#xff1a; 下載地址&#xff1a; MySQL :: Download MySQL Community Server到mysql官網進行下載&#xff1a;MySQL :: Download MySQL Community Server &#xff08;下面二選一&#xff0c;選擇一…

基于Kubernetes部署MySQL主從集群

以下是一個基于Kubernetes部署MySQL主從集群的詳細YAML示例&#xff0c;包含StatefulSet、Service、ConfigMap和Secret等關鍵配置。MySQL主從集群需要至少1個主節點和多個從節點&#xff0c;這里使用 StatefulSet 初始化腳本 實現主從自動配置。 1. 創建 Namespace (可選) ap…

如何使用 GPT-4o 翻譯播客聲音

Voice Translation into Different Languages | OpenAI Cookbook 如何使用 GPT-4o 將播客翻譯并配音成您的母語 您是否曾想過將播客翻譯成您的母語&#xff1f;翻譯和配音音頻內容可以讓全球更多的觀眾獲取信息。而現在&#xff0c;借助 GPT-4o 的音頻輸入&#xff08;audio-i…

Lab17_ Blind SQL injection with out-of-band data exfiltration

文章目錄 前言&#xff1a;進入實驗室構造 payload 前言&#xff1a; 實驗室標題為&#xff1a; 帶外數據泄露的 SQL 盲注 簡介&#xff1a; 本實驗包含一個SQL盲目注入漏洞。應用程序使用跟蹤Cookie進行分析&#xff0c;并執行包含提交的Cookie值的SQL查詢。 SQL查詢是異…