0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

集群和分布式有什么区别

汽车玩家 来源:今日头条 作者:咔咔侃技术 2020-05-03 18:24 次阅读

经常听到MySql集群、Redis集群、分布式系统等概念,但是,很少有机会深究,到底什么集群,什么是分布式?在概念上这俩个词很接近,难道不需要区分?其实,非常有必要区分这两个概念,帮助我们对计算机的理论有更深入的理解。今天,我就尝试去解释一下这两个概念。

定义的区别

计算机集群(英语:computer cluster)是一组松散或紧密连接在一起工作的计算机。由于这些计算机协同工作,在许多方面它们可以被视为单个系统。与网格计算机不同,计算机集群将每个节点设置为执行相同的任务,由软件控制和调度。

维基百科的解释,关键词是:一组计算机、相同的任务。

分布式系统是一组电脑,透过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。[1]组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。

维基百科的解释,关键词是:一组计算机、大计算分解。

集群和分布式,都是描述的一组计算机。集群的所有节点跑的是同样的任务,而分布式系统的节点跑的是分解后的任务。以修手机为例:维修一部手机要分为检测、维修、测试三个环节,为了提高效率,雇了10位工程师。如果每个工程师维修时,对每台手机进行检测、维修和测试,这就是集群的工作方式。如果2位工程师负责检测,5位工程师负责维修,剩下的3位工程师负责测试,这就是分布式的工作方式。

应用中的区别

在工作中,有时候并没有严格按照概念去理解这两个词。但是,回想一下什么时候用集群这个词,Redis集群、MySql集群、Nginx集群等等,按照上述的定义分析,这些集群里的每个节点,都是跑的同样的业务。微服务平台、云计算平台,这些平台的节点往往跑着不同的业务,组成强大的能力对外提供服务,这就是分布式系统。

集群的关键作用是提升并发处理能力。例如:一台MySql数据库不能满足性能需求,通过分表分库方案,部署多台实例;一个Redis节点不足以支撑业务,多个节点组成集群提高并发处理能力。但凡能够组成集群的,往往都是职责单一,功能目标明确的应用。相对来说,集群化是简单的,对服务几乎无侵入的,通过入口分发负载,应用与应用之间是等价的、无感知的。

分布式的关键作用是解耦以便于快速迭代。单机版应用能不能做的很强大、很复杂?当然可以!十几年前的SAP、Oracle ERP软件,这些业务巨复杂的系统,都是可以部署在一台服务器上的。通过模块化、SOA等设计理念,工程师们也可以协同工作写出复杂的应用。这些软件可能一年才需要升级一次,但互联网应用几乎每周都在发版升级,显然这种开发模式在互联网领域并不适用。通过把功能模块拆分出来,部署在不同的节点,按节点进行升级,实现快速迭代。

通过上面的讲述,这种理论模型的分布式,和真实的分布式还是不同。没有谁见过分布式系统中的业务模块,是单节点部署的。是的,没有错,现实中的分布式系统,其实是分布式+集群的综合体。这样的模式,结合了两者的优势,即实现了解耦,又做到了高并发能力,完美呼应了互联网对应用的需求。其他的概念,高可用、一致性等,都是在分布式+集群的理念上,发展出来的解决具体问题的方法论。

集群和分布式有什么区别

总结

本文从概念入手,“性格分裂”式的剖析了集群和分布式。我认为,这种剖析有利于理解概念,有利于理解“为什么”。在具体实践中,不能把两者对立起来,复杂的业务系统,往往都是两者的结合体。

针对我的理解,你有什么想说的吗?欢迎拍砖。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集群
    +关注

    关注

    0

    文章

    79

    浏览量

    17102
  • 分布式
    +关注

    关注

    1

    文章

    754

    浏览量

    74076
收藏 人收藏

    评论

    相关推荐

    鸿蒙原生应用开发——分布式数据对象

    01、什么是分布式数据对象 在可信组网环境下,多个相互组网认证的设备将各自创建的对象加入同一个 sessionId,使得加入的多个数据对象之间可以同步数据,也就是说,当某一数据对象属性发生
    发表于 12-08 10:01

    分布式系统硬件资源池原理和接入实践

    三、硬件资源池原理 以相机和音频为例,假设设备 A 和设备 B 都有各自的相机和音频外设,驱动层对应的本地相机和本地音频驱动。 图 5 分布式硬件资源池原理示意 分布式硬件从各自设备本地采集相机
    发表于 12-06 10:02

    怎么区分分布式服务器和集群式服务器?

      如何区分分布式服务器和集群服务器?许多朋友在选择服务器时不知道分布式服务器和集群服务器的区别,所以他们不知道如何选择它们。本文将告诉您
    的头像 发表于 11-29 15:20 250次阅读

    Java手写分布式锁的实现

    随着互联网业务的发展,原本单机部署的系统演化成如今的分布式集群系统后,由于分布式系统多线程
    的头像 发表于 11-17 15:51 246次阅读
    Java手写<b class='flag-5'>分布式</b>锁的实现

    基于ZigBee的分布式井盖监控系统

    随着我国现代经济发展水平的不断提高,城市井盖数目逐渐增加。由于较多井盖被盗,致使路面形成陷阱,危害到过往车辆和行人安全。本文提出了一种基于 ZigBee无线网络的智能安全监控系统,解决分布式布控困难
    发表于 09-18 08:46

    OpenHarmony 分布式硬件关键技术

    OpenHarmony技术峰会——生态与互联分论坛 ​ 正 文 内 容 OpenHarmony是一款面向未来万物互联场景的操作系统,其设计采用了分布式架构。那么OpenHarmony相比于传统操作系统
    发表于 08-24 17:25

    光伏电站和分布式光伏发电的区别

    光伏电站和分布式光伏发电的区别 随着环保意识的不断提高,人们开始越来越关注环保问题。光伏发电成为了一种环保而且经济的能源选择。而光伏电站和分布式光伏发电被广泛应用。虽然它们都使用太阳能发电,但在实际
    的头像 发表于 08-22 17:22 2361次阅读

    过程语言(2)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 23:00:52

    过程语言(1)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 23:00:11

    课程介绍(2)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:59:24

    课程介绍(1)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:58:59

    #分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:58:32

    聚合函数(1)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:57:57

    嵌套查询(1)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:49:29

    如何使用Jmeter进行分布式测试;检索日志?

    使用 Jmeter 进行分布式测试;检索日志
    发表于 05-10 13:00