一.先说区别:

一句话:分布式是并联工作的,集群是串联工作的。

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

分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。

举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。

而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

2.简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。

简单的例子说明一下:

如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。

采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)

而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!

二.集群概念

1. 两大关键特性

集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:

a.可扩展性:集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。

b.高可用性:集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出 错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。

2. 两大能力

为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:

a.负载均衡:负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。

b.错误恢复:由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。

负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。

3. 两大技术

实现集群务必要有以下两大技术:

a.集群地址:集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基 本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均 衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有 一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。

b.内部通信:为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。

具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。

三.集群分类

Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)

1. 高可用集群(High Availability Cluster)

常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", "双机互备", "双机".

高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。

2. 负载均衡集群(Load Balance Cluster)

负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

3. 科学计算集群(High Performance Computing Cluster)

高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。

四. 分布式(集群)与集群的联系与区别

分布式是指将不同的业务分布在不同的地方。

而集群指的是将几台服务器集中在一起,实现同一业务。

分布式中的每一个节点,都可以做集群。

而集群并不一定就是分布式的。

举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。

而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!

原文链接:http://www.cnblogs.com/wangyayun/p/6405425.html

java双机和集群的区别,java 分布式与集群的区别和联系相关推荐

  1. java中集群和分布式的区别_java 分布式与集群的区别和联系

    java 分布式与集群的区别和联系 一.先说区别: 一句话:分布式是并联工作的,集群是串联工作的. 1.分布式是指将不同的业务分布在不同的地方. 而集群指的是将几台服务器集中在一起,实现同一业务. 分 ...

  2. 分布式和微服务区别_分布式、集群、微服务到底有啥区别?

    点击上方"不太厉害的程序猿",选择"置顶或者星标" 你关注的就是我关心的! 来源说明:部分信息来源于csdn 概念: 集群是个物理形态,分布式是个工作方式. 1 ...

  3. 什么是集群?什么是分布式?集群与分布式的区别,集群和分布式的关系。

    什么是集群 假如你开发了一个程序供大家使用,当然会把开发好的程序放到应用服务器中,刚开始用户量不大,用户访问的正常,服务器压力小. 但是随着用户量的增大,一台服务器不足以支撑系统的正常运行. 于是你决 ...

  4. 深入理解:分布式和集群

    有同学问我分布式和集群到底是什么?都是多台服务器那不就是分布式吗?为啥还有集群呢?集群也是多台服务器为啥不叫分布式呢? 对于这些问题的混乱其实是没把分布式和集群理解到位. 首先,我们把架构分为单机和多 ...

  5. java集群_身为Java程序员的你知道分布式与集群的联系及区别吗?

    集群 多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点. 集群拥有以下两个特点: 可扩展性:集群的性能不限制于单一的服务实体,新的服务实体可以动态的 ...

  6. Java后端架构开荒实战(二)——单机到集群

    Java后端架构开荒实战(二)--单机到集群 一.前言 上一篇文章做了一些准备工作,这边文章正式开始写代码. 在做好单实例架构之后,升级到集群是一件很容易的事情,所以把单机和集群放在这一篇一起说. 二 ...

  7. 大型互联网架构与集群技术(Java方向)

    java架构必须掌握的几点技术? 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注 ...

  8. spark集群配置以及java操作spark小demo

    spark 安装 配置 使用java来操作spark spark 安装 tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz rm spark-2.4.0-bin-hadoo ...

  9. Redis集群搭建及java连接redis

    Redis集群搭建及java连接redis Redis集群分为三种: 1.主从关系模式2.Sentinel哨兵关系模式3.Cluster去中心化模式 1.主从关系模式 1.1.什么是主从模式? (1) ...

最新文章

  1. [转]css选择器优先级深入理解
  2. linux挂载硬盘简书,linux|挂载硬盘及分区
  3. Python 爬虫实例(1)—— 爬取百度图片
  4. boost库之tcp server(异步)
  5. 71 说出常用的类、包、接口各5个
  6. C++二叉树的建立与遍历
  7. 带你上手一款下载超 10 万次的 IDEA 插件
  8. android umeng,GitHub - umeng/umeng_community_android: 友盟微社区Android SDK开源项目
  9. 肝货满满!CV学习笔记:入坑必备
  10. java解析xml转为Map
  11. vue全局注册组件实例
  12. CF 1529C Parsa‘s Humongous Tree
  13. Linux常用备份恢复工具
  14. Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)
  15. Axure工具概述以及Axure RP9的安装汉化和授权
  16. 计算机网络常用五种编码方式,五种常见的基带数字编码方式
  17. 计算机自动关机启机唤醒设置,电脑定时自动关机怎么设置
  18. oracle外部表kup-04023,kup-04040访问外部表时
  19. QtXlsx第三方库在Mac OS和Windows下的配置及简单使用
  20. 查询电脑内存条型号的办法

热门文章

  1. LINUX 查看系统信息的命令
  2. ASP.Net中服务器控件的生命周期
  3. 中小企业电子商务如何发展?
  4. 谨防职业病 IT人士必不可少的四类食物
  5. 双系统(win7+ubuntu)ubuntu磁盘空间不足时解决方法
  6. Eclipse 真机调试检测不到手机解决方案
  7. 《2020信息消费战“疫”案例集》发布 邬贺铨院士作序推荐(附下载连接)
  8. WampServer服务器离线问题的解决方法
  9. ​对比学习还能这样用:字节推出真正的多到多翻译模型mRASP2
  10. 填充 孔洞_防火门或防火窗与墙洞口的间隙,填充材料的选择