赞
踩
分布式:
分布式就是将一个复杂的业务系统,拆分成多个子业务系统,将其部署在每个不同的服务器上面,通过网络将其连接起来,通过交换信息协作共同完成一个业务。
集群:
集群就是同一个子业务系统复制成多份,将其分别部署在多台服务器上,这多台服务器将其安装在同一个位置的物理空间之内,形成一个集合的群体,就叫做集群。
区别:
从概念上看, 两者是完全不同的,分布式是多台部署了不同子业务系统的服务器协同完成一个任务;集群是多台服务器都提供同一种服务和功能;
联系:
分布式中某个热点子业务系统其实是很有必要复制成多个实例,采用集群的模式进行部署。
提高应用性能,在高并发场景下,让系统可以达到高吞吐量和高可用性;
例如:订单查询子业务系统使用量很大,如果只用一台服务器来处理,其能够处理的订单量是有限度的,但是如果我们采用集群的模式进行部署,提供多个可用的实例,通过负载均衡服务器,采用轮询算法,将请求均匀的分摊到多个服务器进行同时处理,可以大大的提高同一时间段内的订单处理数量(高吞吐量),如果某个服务器挂了,那么其他的服务器可以用,不会导致应用挂掉,造成严重的生产事故。
好的系统和架构绝对不应该把分布式和集群进行割裂开来,而应该是两者进行有机的结合和组合。要想让我们的系统实现,高性能,高可用,高吞吐,那么我们从架构和部署层面来讲就应该先分布式(拆分),然后将每个节点采用集群的方式进行部署,这样就可以大大提高系统的整体性能和健壮性。
分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
例如:如果一个任务由 10 个子任务组成,每个子任务单独执行需 1 小时,则在一台服务器上执行该任务需 10 小时。
采用分布式方案,提供 10 台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需1个小时。
单机环境下,1个服务器只能处理一个任务,10个任务就是10个小时,但是我们如果采用集群的方案,部署10台服务器,1台服务器分别处理一个任务,那么1个小时就可以处理完成这10个任务,这就是效率的提高。
用通俗一点的话来讲,集群主要解决的是同一件事情,而分布式解决的是一个整体中不同的事情。
单体架构就好比一个小卖部,刚开始客户很少,所以把所有商品都放在一起卖。当买零食的客户逐渐增加时,就发现超市里的零食货架不够用了,这时候多增加了几个零食货架,这就是集群。这个时候超市的生意越来越好了,但是很多顾客只需要买零食或者只需要买日用品,这个时候可以将零食货架专门放在一层,日用品货架放在另一层,这两层的功能互不影响,这就是分布式。集群加分布式就相当于同时增加了货架并且将不同商品放在不同的区域。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。