我认为集群是个物理形态,分布式是个工作方式(分布式其实也是物理形态,这里相比较而言的)。
当集群中的服务器都做同样的事情时,集群就是一个集群;
当集群中的服务器各司其职时,他就变成了分布式。
所以说分布式中的每一个节点都可以是集群,但是集群并不一定是分布式的。
举个例子,一个电商网站,当注册的用户非常多的时候,一个数据库服务器是显然不够用的,所以要增加为两台服务器, 如果两台都提供数据库服务,这个叫集群;如果一台服务器提供写操作,一台服务器提供读操作,这就叫分布式。
最后说一下分布式集群,就是先使用分布式的工作方式,然后把每个分出来的服务都进行集群部署,这就是分布式集群。
还用上面的例子,这时我们增加为5台数据库服务器,2台提供写操作,3台提供读操作,此时这个集群就是分布式集群。
总结:分布式突出协作,集群突出分散。二者既考虑服务器压力,又考虑业务需求。
再来聊一聊最近很火的微服务架构,微服务与分布式相似,可以说是分布式的子集,是分布式的更细化,微服务的核心就是‘微’小。简单来说,微服务就是每个服务器只做很小的服务,小到一个服务可以只对应一个功能,只做单一的一件事。
如果从职能角度来说的话,分布式更注重分散服务器压力,微服务更注重分散业务的能力。
举个例子,还是电商网站,使用n台服务器,一台只负责订单管理服务,一台只负责用户管理服务……每台服务器只有一个功能