概述
集群:多个人在一起作同样的事 。
分布式 :多个人在一起作不同的事 。
集群:同一个业务,部署在多个服务器上 。
分布式:一个业务拆分为多个子业务,部署在多个服务器上 。
两者的关系
集群和分布式都是由多个节点组成,但是集群之间的通信协调基本不需要;而分布式各个节点的通信协调必不可少。
将一套系统拆分成不同子系统部署在不同服务器上(这叫分布式),然后部署多个相同的子系统在不同的服务器上(这叫集群),部署在不同服务器上的同一个子系统应做负载均衡。
分布式中的某个子任务节点,可能由一个集群来代替;集群中任一节点,都是做一个完整的任务。
场景举例
集群主要的使用场景是为了分担请求的压力,也就是在几个服务器上部署相同的应用程序,来分担客户端请求。例如mysql的读写分离(通过主从复制的方式实现的)
分布式的主要应用场景是单台机器已经无法满足这种性能的要求,必须要融合多个节点,并且节点之间是相关之间有交互的。例如mysql的分库分表(经常按照业务来分例如user表和product表分开)