一分钟理解分布式和集群

开发 开发工具 分布式
简单来说:分布式是一个抽象概念,集群是具体实现。一个集群系统一定是分布式的,而分布式未必是集群(比如互联网是分布式系统,但是它不是集群)。

[[234487]]

先给出我理解的定义分布式是一组通过网络互连的计算机组成的系统;集群是指为完成一个或者一组相关任务的分布式系统。

上图是分布式的架构,四个节点相互连接;分布式只是表达一种拓扑关系不涉及到具体的业务。

现在为抽象的拓扑结构叠加上应用(让它可以实际工作起来),比如其中一台机器承担负载均衡的角色。这就是集群——即,为完成实际的任务而互联的一组计算机。

一般来说有几类“任务”(目标):

  • 高可用,其中一台服务器挂掉不影响整个系统的正常运行。比如 Keepalived
  • 负载均衡,工作负载被分配到不同机器上执行。比如 LVS
  • 高性能计算,对一个大任务分解,利用多个节点的资源组合完成计算。比如 Hadoop
  • 网格计算,以共享存储为基础,多个节点共同完成计算任务。在这个结构中所有节点都是对等的。比如 Oracle RAC。

我们常说的 Master Slave 架构其实是一种集群架构模式,上面列表中的高可用、负载均衡、高性能计算都属于这种架构模式。

简单来说:分布式是一个抽象概念,集群是具体实现。一个集群系统一定是分布式的,而分布式未必是集群(比如互联网是分布式系统,但是它不是集群)。

【本文是51CTO专栏作者“邢森”的原创文章,转载请联系作者本人获取授权】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2016-12-16 11:05:00

分布式互斥线程

2019-06-21 10:00:42

微服务分布式架构

2018-06-26 05:23:19

线程安全函数代码

2017-02-21 13:00:27

LoadAverage负载Load

2018-07-31 16:10:51

Redo Undo数据库数据

2018-12-12 22:51:24

Java包装语言

2018-06-26 10:52:45

2017-03-30 19:28:26

HBase分布式数据

2020-10-28 11:00:53

Scrapy爬虫Python

2020-05-21 19:46:19

区块链数字货币比特币

2022-07-18 06:16:07

单点登录系统

2017-07-06 08:12:02

索引查询SQL

2020-07-09 07:37:06

数据库Redis工具

2020-07-17 07:44:25

云计算边缘计算IT

2016-09-12 17:28:45

云存储应用软件存储设备

2011-02-21 17:48:35

vsFTPd

2020-10-13 14:55:31

云计算云安全技术

2017-11-08 09:57:00

分布式微服务集群

2018-07-31 15:05:51

Java公平锁线程

2017-03-27 23:22:23

数据库列式存储
点赞
收藏

51CTO技术栈公众号