1、目的都为提高效率。简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。
采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。
而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!
2. 分布式(集群)与集群的联系与区别
分布式是指将不同的业务分布在不同的地方(服务器),分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。
集群指的是将几台服务器集中在一起,实现同一业务。有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。
3.基本概念
1、幂等:如果某个操作可以重复多次而无害,那么就称它是幂等的;
2、垂直分布性:通过按逻辑把不同组件放在不同机器上可以获得垂直分布性;
3、水平分布性:客户或服务器在物理上被分割为逻辑上相等的几个部分,但每个部分都操作在整个数据集中自己共享的部分,从而实现负载平衡;
4、拜占庭故障:随意性故障,服务器可能在随意的时间产生随意的响应;