负载均衡,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍。
集群:同一个业务,部署在多个服务器上。集群是同一个业务部署在多台机器上,提高系统可用性。

分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。

分布式是指将不同的业务分布在不同的地方。

区别与联系:

分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。

分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

集群负载均衡 架构图 集群和负载的区别_服务器


这样的好处有很多:

1.系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常确,排错也变得相当容易,开发效率大大提升。

2.系统之间的耦合度降低,从而系统更易于扩展。我们可以针对性地扩展某些服务。

3.服务的复用性更高。

问题解答
问题:集群式部署在多个服务器上。那假如有10个服务器,同时开始做一个任务,最后做完了,我们只需要一个服务器给的结果,其他9个服务器的结果不就浪费了吗?
解答:你这样理解就错了,不是10个服务器做同一个任务,而是有10个任务分布在10台机器上同时处理。
比如:你前台页面有10个用户,分别发送了1个请求,那么如果不是集群的话,那这10个请求需要并行在一台机器上处理,如果每个请求都是1秒钟,那么就会有一个人等待10秒钟,有一个人等待9秒钟,以此类推;那么现在在集群环境下,10个任务并分发到10台机器同时进行,那么每个人的等待时间都还是1秒钟;
当然,你说的浪费确实是,如果系统的并发不是很高,只有一台或者两台机器就能处理的话,那确实是有很大的浪费。
在集群中有服务器A、B、C,它们都是互不影响,互不相干的,任何一台的机器宕了,都不会影响其他机器的运行,当用户来一个请求,有负载均衡器的算法决定由哪台机器来处理,假如你的算法是采用round算法,有用户a、b、c,那么分别由服务器A、B、C来处理;