如何理解集群和分布式?

2,174 阅读2分钟

概念理解:

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

如上图所示即是一个集群式系统,也就是说同一个系统被部署在了若干个服务器上向使用者提供服务。使用者只关心自己的请求是否被处理,至于是谁来处理这个请求的调用者并不关心。

负载均衡

概念理解:

Load Balancing,即负载均衡,是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。

解释:

从上边的图中我们看到一个使用者可以请求部属在若干服务器上的同一个系统,那么这里就会出现一个问题:我们请求哪一个服务器?你可能会想到,在我们使用的一些大的系统比如淘宝、京东等并没有说让我们有什么类似选择服务器的东西!其实这个选择就是 负载均衡 做的工作。通过下图你就会明白了。

从上图我们可以看出,用户的实际的请求是交给了负载均衡,紧接着由负载均衡分配给特定的服务器来处理,其目的就是把同一个工作交给不同人来处理。

分布式

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

举个栗子:

下图则是一个简单的分布式系统部署,系统为某电商平台,该平台由若干个子系统组成,这些子系统分别部署在不同的服务器上。因此被成为分布式部署。

分布式+集群部署

下图则是一个分布式+集群的系统部署,可以看到同一个系统的不同模块部署在不同的系统上,同一个系统又被多次进行部署。相对来说还是很复杂的。

总结

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

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