@引入
经常会听到分布式,集群,然而有时候根本就不知道他们到底有啥区别,甚至是他们到底是什么意思?
@先来一个小故事:
有一个小饭店,小饭店里面有1个厨师,2个小二,1个老板,1个洗碗工。现在他们是有分布式,以及集群的关系的。然后刚开始只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。
所以分布式是每一个节点完成自己的自己的事,集群是每一个人做同样的事。
@因此可以从功能上来分:
功能区别 :分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。
关系:分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
组织区别: 分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。
主要使用方向:分布式是不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题。集群是同一个业务部署在多台机器上,提高系统可用性。
@集群一般被分为三种类型,
集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)
高可用集群( High Availability Cluster)如RHCS、LifeKeeper等
负载均衡集群(Load Balance Cluster)如LVS等
科学计算集群(High Performance Computing Cluster):这类集群致力于提供单个计算机所不能提供的强大的计算能力,如Beowulf 类集群....等
@集群的特性
可扩展性:集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群中
高可用性:同样的服务可以由多个服务实体提供,如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。
@分布式
分布式是指 多个系统协同合作完成一个特定任务的系统。
分布式是解决中心化管理的问题,把所有的任务叠加到一个节点处理,太慢了。
所以把一个大的问题拆分为多个小的问题,并分别解决,最终协同合作。分布式的主要工作是分解任务,将职能拆解到没一个节点上,这样会提高工作效率。节省时间。
分布式DB:分布式结构化数据存取
分布式Cache:分布式缓存数据(非持久化)存取
分布式文件:分布式文件存取