1、集群:同一个业务,部署在多个服务器上。
- 首先准备一台响应服务器,然后由多台服务器集群完成同一个任务,使用负载均衡机制分派请求。
2、分布式:把一个业务拆分成多个子业务,部署在不同的服务器上。
- 单一分布式应用的缺点:分布式中的每一个节点完成不同的业务,如果这个节点垮了,这个业务就不能访问了。
- 正确的设计方案是:先分布式再集群
3、分布式和集群有什么区别?
- 集群是物理形态;分布式是工作方式;分布式和集群可以同时存在!
- [本质]分布式是并联工作,集群是串联工作。
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数量来提升效率。
例如:
如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)
而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!
4、微服务:将工程结构拆分为一个个小的业务模块,通过接口彼此调用,降低代码的耦合度,并且能独立部署运行。
- 微服务是一种思想,一种架构设计。
- 当今的互联网正是,通过架构设计后降低耦合,以及模块拆分部署,以及根据负载压力决定部署单一业务服务器的数量,来实现最低成本的解决现阶段的大数据高并发的挑战。
5、微服务和分布式又有什么区别?
- 微服务是架构设计方式,分布式是系统部署的工作方式,微服务和分布式也是可以同时存在,而且微服务也往往是使用的分布式部署。
- 微服务的应用不一定是分散在多个服务器上,也可以是处在同一个服务器上。
- 微服务和分布式设计的目的是不一样的,分布式是为了提高性能,微服务是为了解耦。