当前位置: 首页 > news >正文

分布式网络

分布式网络(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

相关文章:

分布式网络

分布式网络&#xff08;Distributed Network&#xff09;指的是一种计算机网络架构&#xff0c;其中计算资源&#xff08;计算、存储、数据处理等&#xff09;分布在多个物理或逻辑上的节点上&#xff0c;而不是集中在单一的服务器或数据中心中。这种架构的主要目标是提高系统的…...

忘记dedecms后台超级管理员账号和密码的解决方案

解决方案&#xff1a; 方案一、数据库修改&#xff1a; 1、前提是您能登录到数据库后台&#xff0c;登录MySQL数据库管理工具&#xff08;如phpMyAdmin&#xff09; 2、打开数据库中的 dede_admin 表&#xff0c;找到管理员记录&#xff0c;将 pwd 字段的值改成 f297a57a5a7…...

【Linux学习笔记】Linux基本指令分析和权限的概念

【Linux学习笔记】Linux基本指令分析和权限的概念 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;Linux学习笔记 文章目录 【Linux学习笔记】Linux基本指令分析和权限的概念前言一. 指令的分析1.1 alias 指令1.2 grep 指令1.3 zip/unzip 指…...

Git基础之分支

常用指令 git branch 列出本地所有分支 git branch -r 列出所有远程分支 git branch [branch-name] 新建一个分支&#xff0c;但依然停留在当前分支 git checkout -b [branch] 新建一个分支&#xff0c;并切换到该分支 git merge [branch] 合并指定分支当前分支 git branch -d …...

MAC电脑常用操作

环境&#xff1a;M3芯片 &#xff0c;macOS15.2 &#x1f680; 快捷键 &#x1f5a5;️ 窗口管理 ✅ 退出/进入全屏模式 • 浏览器等应用&#xff1a;⌘ Command Ctrl F ✅ 最小化当前窗口 • ⌘ Command M • &#x1f4a1; 隐藏窗口但保留应用在后台运行 ✅ 关闭当前标…...

【计算机网络】深入解析 HTTP 协议的概念、工作原理和通过 Fiddler 抓包查看 HTTP 请求/响应的协议格式

网络原理— HTTP 1. 什么是HTTP? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议&#xff1a; HTTP 往往是基于传输层的 TCP 协议实现的 (HTTP1.0,HTTP1.1,HTTP2.0 均为TCP,HTTP3基于UDP实现) 我们平时打开一个网站&#xff0c;就是通过HTTP协议来…...

Springboot redis bitMap实现用户签到以及统计,保姆级教程

项目架构&#xff0c;这是作为demo展示使用&#xff1a; Redis config&#xff1a; package com.zy.config;import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.Ob…...

【C++】:STL详解 —— 红黑树封装map和set

目录 红黑树的源代码 正向迭代器的代码 反向迭代器的代码 set的模拟实现 map的模拟实现 红黑树的源代码 #pragma once #include <iostream>using namespace std; // set ->key // map ->key/value// set ->key // map ->key/valueenum Colour {RED,BLAC…...

FPGA设计时序约束用法大全保姆级说明

目录 一、序言 二、时序约束概览 2.1 约束五大类 2.2 约束功能简述 2.3 跨时钟域约束 三、时序约束规范 3.1 时序约束顺序 3.2 约束的优先级 四、约束示例 4.1 设计代码 4.2 时序结果 4.2.1 create_clock 4.2.2 create_generated_clock 4.2.3 Rename_Auto-Derive…...

【前缀和与差分 C/C++】洛谷 P8218 求区间和

2025 - 03 - 09 - 第 72 篇 Author: 郑龙浩 / 仟濹 【前缀和与差分 C/C】 文章目录 洛谷 P8218 求区间和题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示思路代码 洛谷 P8218 求区间和 题目描述 给定 n n n 个正整数组成的数列 a 1 , a 2 , ⋯ , a n a_…...

C++修炼之路:初识C++

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 引言 …...

Pytorch 第九回:卷积神经网络——ResNet模型

Pytorch 第九回&#xff1a;卷积神经网络——ResNet模型 本次开启深度学习第九回&#xff0c;基于Pytorch的ResNet卷积神经网络模型。这是分享的第四个卷积神经网络模型。该模型是基于解决因网络加深而出现的梯度消失和网络退化而进行设计的。接下来给大家分享具体思路。 本次…...

2025-3-9 一周总结

目前来看本学期上半程汇编语言,编译原理,数字电路和离散数学是相对重点的课程. 在汇编语言和编译原理这块,个人感觉黑书内知识点更多,细节更到位,体系更完整,可以在老师讲解之前进行预习 应当及时复习每天的内容.第一是看书,然后听课,在一天结束后保证自己的知识梳理完整,没有…...

如何在el-input搜索框组件的最后面,添加图标按钮?

1、问题描述 2、解决步骤 在el-input组件标签内&#xff0c;添加一个element-plus的自定义插槽&#xff0c; 在插槽里放一个图标按钮即可。 3、效果展示 结语 以上就是在搜索框组件的末尾添加搜索按钮的过程。 喜欢本篇文章的话&#xff0c;请关注本博主~~...

[项目]基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信

基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信 一.Si24Ri原理图二.Si24R1芯片手册解读三.驱动函数讲解五.移植2.4g通讯&#xff08;飞控部分&#xff09;六.移植2.4g通讯&#xff08;遥控部分&#xff09; 一.Si24Ri原理图 Si24R1芯片原理图如下&#xff1a; 右侧为晶振。 模块…...

Python爬取咸鱼Goodfish店铺所有商品接口的详细指南

在电商数据分析和市场研究中&#xff0c;爬取咸鱼店铺内的所有商品信息是一项极具价值的任务。通过调用咸鱼的goodfish.item_search_shop接口&#xff0c;可以获取指定店铺内的商品列表&#xff0c;包括商品标题、价格、图片链接、销量等详细信息。本文将详细介绍如何使用Pytho…...

【极光 Orbit•STC8A-8H】03. 小刀初试:点亮你的LED灯

【极光 Orbit•STC8H】03. 小刀初试&#xff1a;点亮你的 LED 灯 七律 点灯初探 单片方寸藏乾坤&#xff0c;LED明灭见真章。 端口配置定方向&#xff0c;寄存器值细推敲。 高低电平随心控&#xff0c;循环闪烁展锋芒。 嵌入式门初开启&#xff0c;从此代码手中扬。 摘要 …...

docker本地部署RagFlow

1.安装 克隆仓库 git clone https://github.com/infiniflow/ragflow.git构建预建的Docker映像并启动服务器 cd ragflow/docker chmod x ./entrypoint.sh docker compose -f docker-compose.yml -p ragflow up -d修改ragflow/docker/.env文件 #RAGFLOW_IMAGEinfiniflow/ragfl…...

STM32F4 UDP组播通信:填一填ST官方HAL库的坑

先说写作本文的原因&#xff0c;由于开项目开发中需要用到UDP组播接收的功能&#xff0c;但是ST官方没有提供合适的参考&#xff0c;使用STM32CubeMX生成的代码也是不能直接使用的&#xff0c;而我在网上找了一大圈&#xff0c;也没有一个能够直接解决的方案&#xff0c;deepse…...

基于python大数据的招聘数据可视化与推荐系统

博主介绍&#xff1a;资深开发工程师&#xff0c;从事互联网行业多年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了多年的设计程序开发&#xff0c;开发过上千套设计程序&#xff0c;没有什么华丽的语言&#xff0c;只有…...

告别裸机UI!用LVGL 8.3给你的STM32项目做个漂亮界面(基于HAL库和SPI屏)

从零打造STM32智能界面&#xff1a;LVGL 8.3实战指南 在嵌入式开发领域&#xff0c;用户界面往往是最容易被忽视却最能直接影响用户体验的环节。想象一下&#xff0c;当你精心设计的智能家居控制面板或工业仪表&#xff0c;因为简陋的字符界面而显得廉价时&#xff0c;那种挫败…...

CosyVoice-300M Lite实战案例:在线教育语音课件生成系统

CosyVoice-300M Lite实战案例&#xff1a;在线教育语音课件生成系统 1. 为什么在线教育需要专属语音合成系统&#xff1f; 你有没有遇到过这样的场景&#xff1a;一位初中物理老师想为“浮力原理”这节课制作配套音频讲解&#xff0c;但反复试了三款主流TTS工具——要么普通话…...

告别TeamViewer!用RustDesk自建服务器实现跨平台远程控制(Windows/Ubuntu客户端全配置)

告别商业远程控制软件&#xff1a;用RustDesk自建服务器全流程指南 远程控制软件已经成为现代工作场景中不可或缺的工具&#xff0c;无论是技术支持、远程办公还是跨设备协作&#xff0c;一个稳定高效的远程连接方案都能极大提升工作效率。然而&#xff0c;商业软件如TeamViewe…...

OpCore Simplify:三步搞定黑苹果EFI配置的智能工具

OpCore Simplify&#xff1a;三步搞定黑苹果EFI配置的智能工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为黑苹果的复杂EFI配置而烦恼吗&am…...

Blender3mfFormat全链路应用指南:从基础操作到专业级工作流构建

Blender3mfFormat全链路应用指南&#xff1a;从基础操作到专业级工作流构建 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 基础认知&#xff1a;3MF格式与Blender插件体…...

5步定制UEFI启动界面:技术爱好者的HackBGRT实战指南

5步定制UEFI启动界面&#xff1a;技术爱好者的HackBGRT实战指南 【免费下载链接】HackBGRT Windows boot logo changer for UEFI systems 项目地址: https://gitcode.com/gh_mirrors/ha/HackBGRT 一、问题发现&#xff1a;启动界面定制的3大痛点 在计算机使用体验中&am…...

CBoard自研多维引擎揭秘:轻量级架构如何撬动大数据分析

CBoard自研多维引擎揭秘&#xff1a;轻量级架构如何撬动大数据分析 【免费下载链接】CBoard CBoard - 这是一个基于 Node.js 的开源面板&#xff0c;用于管理 Kubernetes 集群和应用程序。适用于 Kubernetes 集群管理、容器编排、持续集成等场景。 项目地址: https://gitcode…...

MogFace-large保姆级部署:Ubuntu/CentOS系统GPU驱动适配指南

MogFace-large保姆级部署&#xff1a;Ubuntu/CentOS系统GPU驱动适配指南 1. 前言&#xff1a;为什么选择MogFace-large 如果你正在寻找一个强大的人脸检测解决方案&#xff0c;MogFace-large绝对值得你的关注。这个模型在Wider Face榜单的六项评测中已经霸榜超过一年&#xf…...

Pixel Mind Decoder 数据结构优化:提升批量文本情绪处理效率

Pixel Mind Decoder 数据结构优化&#xff1a;提升批量文本情绪处理效率 1. 为什么需要优化批量处理 当你需要分析成千上万条用户评论或社交媒体内容时&#xff0c;逐条调用情绪分析模型会变得非常低效。就像在快餐店点餐一样&#xff0c;一个一个处理订单远不如批量处理来得…...

Live Avatar素材准备全攻略:选择什么样的图片和音频效果最好

Live Avatar素材准备全攻略&#xff1a;选择什么样的图片和音频效果最好 1. 引言 1.1 数字人生成中的素材重要性 在数字人生成过程中&#xff0c;输入素材的质量直接影响最终输出效果。Live Avatar作为阿里联合高校开源的高质量数字人模型&#xff0c;虽然技术先进&#xff…...