现在的位置: 首页 > 云计算 > 算法 > 正文

分布式与集群的区别到底在哪里

2020年01月07日 云计算, 算法 ⁄ 共 1329字 ⁄ 字号 评论关闭

  吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过“云计算”这个关键词来查询资料,查到的都是些概念性或商业性的宣传资料,其实真正需要深入的还是那个早已被人熟知的概念——分布式。

  分布式可繁也可以简,最简单的分布式就是大家最常用的,在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,后面共享一个数据库,其实很多号称分布式专家的人也就停留于此。

  这种环境下真正进行分布式的只是webserver而已,并且webserver之间没有任何联系,所以结构和实现都非常简单。

  有些情况下,对分布式的需求就没这么简单,在每个环节上都有分布式的需求,比如LoadBalance、DB、Cache和文件等等,并且当分布式节点之间有关联时,还得考虑之间的通讯,另外,节点非常多的时候,得有监控和管理来支撑。

这样看起来,分布式是一个非常庞大的体系,只不过你可以根据具体需求进行适当地裁剪。

  分布式任务处理服务:负责具体的业务逻辑处理

  分布式节点注册和查询:负责管理所有分布式节点的命名和物理信息的注册与查询,是节点之间联系的桥梁

  分布式DB:分布式结构化数据存取

  分布式Cache:分布式缓存数据(非持久化)存取

  分布式文件:分布式文件存取

  网络通信:节点之间的网络数据通信

  监控管理:搜集、监控和诊断所有节点运行状态

  分布式编程语言用于分布式环境下的专有编程语言,比如Elang、Scala

  分布式算法为解决分布式环境下一些特有问题的算法,比如解决一致性问题的Paxos算法

  因此,若要深入研究云计算和分布式,就得深入研究以上领域,而这些领域每一块的水都很深,都需要很底层的知识和技术来支撑,所以说,对于想提升技术的开发者来说,以分布式来作为切入点是非常好的,可以以此为线索,探索计算机世界的各个角落。

集群是个物理形态,分布式是个工作方式。

  只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道;一个程序或系统,只要运行在不同的机器上,就可以叫分布式,嗯,C/S架构也可以叫分布式。

  集群一般是物理集中、统一管理的,而分布式系统则不强调这一点。

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

  分布式是相对中心化而来,强调的是任务在多个物理隔离的节点上进行。中心化带来的主要问题是可靠性,若中心节点宕机则整个系统不可用,分布式除了解决部分中心化问题,也倾向于分散负载,但分布式会带来很多的其他问题,最主要的就是一致性。

  集群就是逻辑上处理同一任务的机器集合,可以属于同一机房,也可分属不同的机房。分布式这个概念可以运行在某个集群里面,某个集群也可作为分布式概念的一个节点。

  一句话,就是:“分头做事”与“一堆人”的区别

  分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。

  结束语:以上就是关于分布式与集群的区别到底在哪里的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.