在概念上,“分布式”是一个业务可分拆为多个子业务,并部署在不同的服务器。“集群”是同一个业务,部署在多个服务器上。举个例子来说:某饭店原来只有一个厨师,切菜、洗菜、备料、炒菜全部干完;后来客人越来越多,厨房忙不过来,又请了一个厨师,两个厨师都能炒相同的菜,那这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式;一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群,随着集群人数变多,为了合理安排厨师或者配菜工作,需要一个人来统筹,这就是负载服务器。在实际部署上,分布式并不是说要每个子业务要部署在不同地方,在同一个机房不同服务器也可以。同理,集群在实际部署中也并非要在一起。
总的来说,分布式核心就是将一个业务进行分割独立,让子业务可以独立部署,单独升级维护。然后,在日后实际运营时根据子业务的吞吐量,有针对的做集群。因此也带来了子业务间数据交换,状态维护等维度的复杂度和开销。