先记一下概念和区别,有空再详细补充
集群是一个物理形态,分布式是一种工作方式。分布式是指将不同的业务分布在不同的地方;集群是指将几台服务器集中在一起实现同一个业务。分布式中的每一个节点都可以做集群,而集群不一定就是分布式。比如说新浪网,访问的人多了,就可以做一个集群,前面放一个响应服务器,后面是几个服务器集群完成同一个业务。如果有业务访问的时候,响应服务器会看哪台服务器的负载不是很重,就将请求分派给他去完成。分布式中每一个节点都完成不同的业务,如果有节点垮掉,则业务不能访问。好的设计方案应该是分布式和集群结合使用。先分布式再集群。具体来说就是我们把业务拆分成多个子业务,然后针对每个子业务进行集群部署,这样某个子业务出现问题,整个系统也不会受影响。
微服务与分布式比较相似。微服务是一种架构风格。一个大型复杂的软件,应该由一个或多个微服务组成。系统中的各个微服务可以是独立部署,各个微服务之间是松耦合的,每个微服务仅关注完成一件任务。微服务和分布式的细微差别,微服务应用不一定是分布在不同服务器上,也可以是分布在同一个服务器上。