分布式与集群、负载均衡

分布式 map-reduce:

  一个业务分拆多个子业务,部署在不同的服务器上。
  形象地说,就是不同的机器,虽然做的事情不一样,但是互相独立,也不需要在意先后顺序关系,那么在map阶段,它们就可以并行执行(task);在reduce阶段,把各个结果以某种方式合并起来,得到最终业务的结果,完成这个job;
  分布式结构可以把业务拆分成一个个独立的子系统,这些子系统之间通过rpc方式通信。
  分布式的优点:可以提高系统的效率,解决高性能、高并发。
 

集群:

  同一个业务,部署在多个服务器上。
  形象地说,每个机器提供相同的服务,只是在处理不同的数据;
  集群中的每个机器,叫做一个“节点”,为了提高集群的整体工作效率,平均每个节点的工作压力,需要有一个机器充当“调度者”的角色,用户的请求交给它,它根据集群中当前所有节点的负载情况,决定将这个请求交给哪个节点处理。这个“调度者”就叫做“负载均衡器”。
 

负载均衡的策略:

(1)HTTP重定向;
(2)反向代理负载均衡(Nginx):是一种非常灵活的反向代理软件,可以*定制化转发策略,分配服务器流量的权重等;
(3)IP负载均衡;
(4)DNS负载均衡:DNS负责域名解析的服务,完成域名到IP的映射,一个域名可以映射到多个IP,因此可以起到负载均衡的作用;
 

集群的优点:

可以提高系统的容错容灾,提供高可用;
 

分布式集群:

分布式中的每一个节点,都可以做集群;而集群就不一定是分布式的;
 
 

参考:

“到底什么是集群&分布式”:

“分布式与集群的区别”: