集群:
集群是指在几个服务器上部署相同的应用程序来分担客户端的请求。
它是同一个系统部署在不同的服务器上。
集群主要的使用场景是为了分担请求的压力,但是,当压力增大的时候,可能需要存储的部分,比如mysql无法面对大量的写操作,因为MySQL做成集群后,主要的写压力还是在master(主机)的机器上,其他slave(从机)机器无法分担写压力,这时就引出了“分布式”!
分布式
分布式是指多个系统协同合作完成一个特定任务的系统。
它是不同的系统部署在不同的服务器上,然后服务器之间相互调用。
分布式解决了中心化管理的问题。把所有的任务叠加到一个节点处理,效率太慢,
所以把一个大的问题拆分成多个小问题,并分别解决,最终协同合作,。
分布式主要工作:分解任务,把任务拆解。
最后,再深入理解一下集群和分布式及其区别:
分布式:把一个大业务拆分成多个子业务,每个子业务都是一套独立的系统,子业务之间相互协作最终完成整体的大业务。
集群:把处理同一个业务的系统部署多个节点 。
把一套系统拆分成不同的子系统部署在不同服务器上,这叫分布式。
把多个相同的系统部署在不同的服务器上,这叫集群。部署在不同服务器上的相同系统必然要做“负载均衡”。
集群主要是简单加机器解决问题,对于问题本身不做任何分解。
分布式处理里必然涉及任务分解与答案归并。分布式中的某个子任务节点,可以是一个集群,该集群中的任一节点都作为一个完整的任务出现。
集群和分布式都是由多个节点组成,但集群中各节点间基本不需要通信协调,而分布式中各个节点的通信协调是必不可少的。