分布式网络

分布式网络(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.mzph.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查询是异…