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

一、分布式和集群

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

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

1.1 分布式和集群的区别

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

1.2 分布式和集群的联系

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

1.3 总结

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

二、细节补充

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

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

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

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

参考资料

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

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

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值