集群是物理形态,分布式是工作方式,集群是将几台服务器集中在一起,实现同一个业务;分布式中的每一个节点呢都可以做集群,而集群并不一定就是分布式的,比如抖音的用户有很多用户去访问,响应的人多了,可以做一个集群,前面可以做一个响应服务器,后面做一个服务器集群完成同一个业务,有业务访问的时候,响应服务器会看打开服务器的负载不是很重,就将请求分派去完成,那分布式中的每个节点都完成了不同的业务,如果这个节点垮了,这个业务就不能访问了。
好的设计方案应该是这样的,分布式和集群去结合使用,先分布式再集群,具体的实现就是说我把业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务出现问题,整个系统也不会受影响。
另外,还有一个概念它跟分布式比较相似,那就是微服务,微服务是一种架构风格,一个大型复杂的软件,应该由一个或多个微服务组成,系统中的各个微服务可以是独立部署,各个微服务之间是松耦合的,每个微服务仅关注完成一件任务,每个任务就代表一个小的业务能力。
微服务和分布式的细微差别是这样的,微服务的应用不一定是分散个多个服务器上的,它也可以是部署在同一个服务器上的