分布式架构和集群架构的区别

一些朋友老是把服务器集群架构当成是分布式架构,分不清什么是分布式,什么是集群,这里集中整理一下这两个概念,概念叙述不一定够官方够准确,但重要的是让大家能够弄明白。

分布式:一个业务分拆为多个子业务,分别佈署到不同服务器或容器上,一个程序或系统,只要是运行在不同的机器上,就可以叫分布式。比如一个网站,会员系统放在A服务器,消息系统放在B服务器,支付系统放在C服务器等等,那么这个网站也算是一个分布式网站。甚至C/S架构也属于分布式架构,C是客服端负责访问,S是服务端负责提供服务。
集群:同一个业务,被佈署到不同的服务器或容器上,以降低单独服务器的压力,只要是多台服务器一起实现同一个业务,那么久可以叫做集群。集群一般是物理集中的、统一管理的。

集群可能运行着一个或多个分布式系统,也可能根本没有运行分布式系统;分布式系统可能运行在一个集群上,也可能运行在不属于一个集群的多台机器上。

举个栗子说明:
一个小饭店里,原来只有一个厨师,买菜洗菜切菜炒菜全都是这厨师一人干,这叫单机结构。后来饭店客人多了,一个厨师确实忙活不过来,于是饭店又请来了个厨师,现在饭店有了两个厨师,这两个厨师都能从头到尾做一样的菜,这两个厨师就是集群。这样两个厨师集群确实能做更多的活,客人点10个菜可以分配每个人抄5个,单个厨师压力减少了。但是这样还不行,为了让厨师专心做菜,把菜做得更好,于是饭店又请来了采购和配菜师,采购负责买菜,配菜师负责把菜挑拣洗好切好给厨师做好准备,那么采购、配菜师、厨师之间就行程了分布式系统。后来一个采购和一个配菜师也忙不过来了,于是又再请多了个采购和配菜师,那么两个采购又形成了集群,两个配菜师也形成了集群,同样两个厨师也还是集群,这样多个集群一起就行程了分布式集群系统

总之,分布式是指业务分配方面的,属于一种工作方式,而集群是个物理形态,一般是多台物理机器集中一起负责同一业务,又能统一管理。

Wilson

张弛有度、简约不简单