分布式学习 - xiaotuizhi/- GitHub Wiki

初识分布式 1)分布式和集群分别是什么 基本理解 分布式:多个人做不同的事 集群:多个人做相同的事

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。 后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,两个厨师的关系是集群。 为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 … 厨师和配菜师的关系是分布式。 一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。 一个配菜师因故请假了,但是其余的配菜师还是该啥就干啥,只是没请假的配菜师任务均匀的加量了,但他们的任务和职责是不变的,这是集群。

2)分布式和集群都是干什么的、 通过上面是描述,我们可以将厨师、配菜师比作是处理任务的服务器,炒菜、切菜比作是任务或子系统。

分布式是解决中心化管理(把所有问题都放到中心节点去处理,很慢,容易产生问题)。所以分布式就是将本来很大的业务分成多个子系统部署在不同的服务器上。这样让它们各司其职,通力合作完成该任务。

集群所做的是多个服务器都做同样的事,分担客户端请求的压力。当一个服务器垮了,别的服务器也可以均匀分摊,每个都多做一些事。 这样看来分布式处理里包含任务分解与答案归并(多个服务器分解任务,多个服务器将产生的结果汇总)。分布式中的某个子任务节点,可能由一个集群来代替; 集群中任一节点,都是做一个完整的任务。 集群和分布式都是由多个节点组成,但是集群之间的通信协调基本不需要;而分布式各个节点的通信协调必不可少。

分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率

强化概念 分布式:一个业务拆分为多个子业务,部署在多个服务器上 。 集群:同一个业务,部署在多个服务器上 。