分布式系统与集群:区别与联系

文章目录

    • 一、分布式和集群
      • 1.1 分布式和集群的区别
      • 1.2 分布式和集群的联系
      • 1.3 总结
    • 二、细节补充
      • 2.1 为什么内容分发网络 CDN 被归类为分布式系统而不是集群?
    • 参考资料

一、分布式和集群

分布式(distributed)是指在多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务;

集群(cluster)是指在多台不同的服务器中部署相同的服务模块,构成一个集群,通过负载均衡设备对外提供服务。

1.1 分布式和集群的区别

特性分布式系统集群
系统架构把一套系统拆分成不同的子系统部署在不同服务器上把多个相同的系统部署在不同的服务器上
任务处理任务被分解为多个子任务,分别由不同的子系统处理,最后将结果合并任务本身不做任何分解:每个实例执行相同的任务,分担负载,提供冗余
节点通信各个节点的通信协调是必须的各个节点之间基本不需要通信协调
管理工具通常都需要使用分布式管理和监控工具(如Zookeeper)通常需要使用集群管理和监控工具(如Kubernetes)
数据存储通常涉及分布式存储解决方案(如分布式数据库、文件系统)通常涉及集群化的存储解决方案(如数据库集群)
应用场景提高系统的处理能力,解决单个物理服务器容量和性能瓶颈问题:大规模数据处理、分布式计算、微服务架构、内容分发网络(CDN)提高系统的可用性,分担请求压力:高性能计算(HPC)、高可用性服务、负载均衡、容器编排

1.2 分布式和集群的联系

集群与分布式并不是互斥的概念,在实际应用中,它们常常结合使用,形成集群的分布式系统。分布式的每一个节点,都可以做集群。

1.3 总结

分布式系统和集群在基础架构、扩展性、高可用性、管理工具和数据存储等方面有很多共同点。它们都依赖于多个节点的协同工作来提高系统的性能、可靠性和扩展性。然而,分布式系统更多地关注任务分解与分配和数据一致性,而集群则侧重于负载均衡和高可用性。

二、细节补充

2.1 为什么内容分发网络 CDN 被归类为分布式系统而不是集群?

内容分发网络 CDN 符合分布式系统的特点:

  1. 任务分解与分配:在 CDN 中,用户请求被分配到不同的边缘服务器,这些服务器分布在全球各地。任务(即内容的分发和提供)被分解和分配给不同的服务器节点。
  2. 节点间的协调与通信:CDN 的各个边缘服务器需要与中央服务器或其他边缘服务器通信,以同步内容和管理缓存。这种协调和通信是分布式系统的一个重要特征。
  3. 地理分布的节点:CDN 的节点分布在全球各地,以便将内容更靠近用户。这种地理分布的节点结构是典型的分布式系统。

注意,这里的任务分解与分配十分类似于负载均衡,但不等同于负载均衡。用户请求是有目的地分配到指定边缘服务器上,而不是均匀地分配到边缘服务器上。

参考资料

什么是分布式,分布式和集群的区别又是什么?这一篇让你彻底明白!_什么叫分布式-CSDN博客

分布式系统的概念、特点及常见方案_分布式的服务特点,服务划分,服务分层-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/28387.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

009.ResNet-FashionMNIST-正确率93.739

一、ResNet简介 ResNet是一次CNN网络架构,核心思想是引入"残差学习"来解决深层网络难以训练的问题。在传统的网络中,每一层都直接尝试学习目标映射。相反,ResNet通过跨层连接,允许某一层学习输入与输出之间的残差&…

高级人工智能复习 题目整理 中科大

题目整理 填空 1.准确性,复杂性,验证集 2. 3 2 n 3^{2^n} 32n 3 C 2 n m 3^{C^m_{2n}} 3C2nm​ 3 m 3^m 3m n 1 n1 n1 3. 状态 从状态s采取行动a后继续采用策略 π \pi π的收益 环境 4. 语法 语义 推理规则 5. 参与者,策略集&#xff…

Elasticsearch 8.1官网文档梳理 - 十一、Ingest pipelines(管道)

Ingest pipelines 管道(Ingest pipelines)可让让数据在写入前进行常见的转换。例如可以利用管道删除文档(doc)的字段、或从文本中提取数据、丰富文档(doc)的字段等其他操作。 管道(Ingest pip…

Vite支持的React项目使用SASS指南

前言 在现代前端开发中,SASS是一种广受欢迎的CSS扩展语言,它提供了许多实用功能,如变量、嵌套、部分和混合等。 本教程将指导您在一个使用Vite作为构建工具的React项目中如何配置和使用SASS。 使用步骤 1、创建一个Vite React项目 首先确…

VirtualBox、Centos7下安装docker后pull镜像问题、ftp上传文件问题

Docker安装篇(CentOS7安装)_docker 安装 centos7-CSDN博客 首先,安装docker可以根据这篇文章进行安装,安装完之后,我们就需要去通过docker拉取相关的服务镜像,然后安装相应的服务容器,比如我们通过docker来安装mysql,…

vue 使用 ztree 超大量数据,前端树形结构展示

ztree 是一个很经典的基于jquey开发的树结构编辑展示UI组件库。 创建一个文件 ztree.vue&#xff0c;代码如下&#xff1a; <template><div><div class"ztree vue-giant-tree" :id"ztreeId"></div><div class"treeBox&q…

Android 14 蓝牙主从模式切换

切换蓝牙的A2DP&#xff08;高级音频分布配置文件&#xff09;和AVRCP&#xff08;音频/视频远程控制配置文件&#xff09;的源&#xff08;source&#xff09;和汇点&#xff08;sink&#xff09;模式。 这里&#xff0c;SystemProperties.get尝试获取bluetooth.profile.a2dp.…

在WSL2的Ubuntu中安装和使用Docker/Podman

在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好&#xff08;例如在公司&#xff0c;能直接访问Google等&#xff09;时&#xff0c; Docker/Podman 安装和使用不是问题。 当网络环境不佳&#xff08;例如在家里&#xff09;&#xff0c;要把 WSL2 的 Ubun…

Termius安装docker

安装Termius 直接上官网 新建主机 更新一下yum 更新完成 安装docker的包 直接用命令安装 设置一下开机启动&#xff0c;可以查看docker的版本

Ui学习--UITableView

UI学习 UITableView基础UITableView协议UITableView高级协议与单元格总结 UITableView基础 UITableView作为iOS中的一个控件&#xff0c;用于以表格形式展示数据。例如通讯录好友&#xff0c;朋友圈信息等&#xff0c;都是UITableView的实际运用场景。 首先我们先要加入两个协…

Mysql的增、删、查、改

MySQL 是一个流行的关系型数据库管理系统&#xff0c;它支持 SQL&#xff08;结构化查询语言&#xff09;用于管理数据库中的数据。以下是使用 SQL 在 MySQL 中进行增&#xff08;INSERT&#xff09;、删&#xff08;DELETE&#xff09;、查&#xff08;SELECT&#xff09;、改…

K210使用雷龙NAND完成火灾检测

NAND 文章目录 NAND前言一、NAND是什么&#xff1f;二、来看一看NAND三、部署火灾检测 前言 前几天收到了雷龙NAND的芯片&#xff0c;一共两个芯片和一个转接板&#xff0c;我之前也没有使用过这款芯片&#xff0c;比较好奇&#xff0c;体验了一下&#xff0c;个人认为&#x…

嵌入式微处理器重点学习(三)

堆栈操作 R1=0x005 R3=0x004 SP=0x80014 STMFD sp!, {r1, r3} 指令STMFD sp!, {r1, r3}是一条ARM架构中的存储多个寄存器到内存的指令,这里用于将r1和r3寄存器的内容存储到栈上。STMFD(Store Multiple Full Descending)是一种全递减模式的多寄存器存储指令,它会先将栈指针…

外包公司泛滥,这些常识你应该提前知道?

今年大环境确实很不好 很多985,211的应届生都在网上大吐苦水&#xff0c;很多大龄离职大厂的技术人也好&#xff0c;业务人也好&#xff0c;都纷纷转向短视频平台做起了自媒体。而找工作的人普遍发现&#xff0c;某最火的招聘平台几乎都被外包公司刷屏了。大大小小的外包公司如…

车载以太网-TC8测试

文章目录 TC8测试的用例数量TC8测试基本流程TC8测试内容TC8测试的用例数量 TC8测试的用例数量可能会因版本和具体测试内容而有所不同。一般来说,TC8测试用例总数在800条左右。 以OPEN Alliance Automotive Ethernet ECU Test Specification的3.0版本为例,该版本的测试用例总…

three.js 基础01

1.场景创建 Scene() 2.常用形状集几何体「Geometry」[可设置长宽高等内容,如:new THREE.BoxGeometry(...)] 长方体 BoxGeometry圆柱体CylinderGeometry 球体SphereGeometry圆锥体ConeGeometry矩形平面 PlaneGeometry 圆面体CircleGeometry 3.常用材质「Materi…

linux 部署瑞数6实战(维普,药监局)sign第二部分

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx …

C/C++李峋同款跳动的爱心代码

一、写在前面 在编程的世界里&#xff0c;代码不仅仅是冷冰冰的命令&#xff0c;它也可以成为表达情感、传递浪漫的工具。今天&#xff0c;就让小编带着大家用C语言打造出李峋同款跳动的爱心吧&#xff01; 首先&#xff0c;我们需要知道C作为一种高级编程语言&#xff0c;拥…

软件版本库管理工具

0 Preface/Foreword 常用代码版本管理工具包括如下几种&#xff1a; Git&#xff0c;最基本管理工具&#xff0c;由Linux kernel开发者开发Repo&#xff0c;主要用于管理Android SDK&#xff0c;由Google开发Gerrit&#xff0c;代码审查软件 1 Git 最基本的代码版本库管理工…

Linux软连接和硬连接

文章目录 软链接创建软链接查看软连接删除软链接 硬链接创建硬链接 区别小结 软链接 软连接是linux中一个常用命令&#xff0c;它的功能是为某一个文件在另外一个位置建立一个同步的链接。换句话说&#xff0c;也可以理解成Windows中的快捷方式。 创建软链接 ln -s [dir1] […