集群、负载均衡及分布式系统架构

原创 2016年05月30日 19:23:39

1.集群

1.1 定义:

是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。

是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同硬件构成的计算机。如一个提供Web服务的集群,对外界来看是一个大Web服务器。不过集群的节点也可以单独提供服务。

1.2 负载均衡系统:

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

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

1.3 集群系统主要解决下面几个问题:

  • 高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
  • 负载均衡:即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求
    高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。

2.负载均衡系统

先从集群讲起 获取【下载地址】  springmvc4 mybatis 整合 框架源码

负载均衡又有DNS负载均衡(比较常用)、IP负载均衡、反向代理负载均衡等,也就是在集群中有服务器A、B、C,它们都是互不影响,互不相干的,任何一台的机器宕了,都不会影响其他机器的运行,当用户来一个请求,有负载均衡器的算法决定由哪台机器来处理,假如你的算法是采用round算法,有用户a、b、c,那么分别由服务器A、B、C来处理;

2.1基于DNS的负载均衡

通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。

2.2反向代理负载均衡 (如Apache+JK2+Tomcat这种组合)

使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。

2.3基于NAT(Network Address Translation)的负载均衡技术 (如Linux Virtual Server,简称LVS)

网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。

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

而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。

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

分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。

在群集的这三种基本类型之间,经常会发生交叉、混合。比如:在高可用性的群集系统中也可以在其节点之间实现负载均衡,同时仍然维持着其高可用性。还有一种概括性说法:cluster是手段,load banlance是目标之一。

集群、负载均衡及分布式系统架构

1.集群 1.1 定义: 是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。 是一组连在一起的计算...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015年10月23日 16:56
  • 1122

菜鸟教你如何通俗理解——>集群、负载均衡、分布式

在“高并发,海量数据,分布式,NoSql,云计算......”概念满天飞的年代,相信不少朋友都听说过甚至常与人提起“集群,负载均衡”等,但不是所有人都有机会真正接触到这些技术,也不是所有人都真正理解了...
  • u012904383
  • u012904383
  • 2016年06月18日 21:34
  • 10080

关于集群、负载均衡、分布式的区别

关于集群、负载均衡、分布式的区别 1、Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群) 集群是一个统称,他分为好几种,如高性能科学群集、负载均衡群集、高可...
  • haiross
  • haiross
  • 2014年07月04日 16:38
  • 5987

浅谈服务器集群、负载均衡、与分布式

浅谈服务器集群、负载均衡、与分布式负载均衡概念:其意思就是分摊到多个操作单元上进行执,操作单元可以是web服务器、ftp服务器、企业关键应用服务器等.不能理解成平均分配到每个操作单元上,因为每台服务器...
  • nicewuranran
  • nicewuranran
  • 2016年10月19日 16:34
  • 2127

美团技术团队 Quartz应用与集群原理分析

一、问题背景 美团CRM系统中每天有大量的后台任务需要调度执行,如构建索引、统计报表、周期同步数据等等,要求任务调度系统具备高可用性、负载均衡特性,可以管理并监控任务的执行流程,以保证任务的正确执行...
  • liyongweihaha
  • liyongweihaha
  • 2015年07月16日 17:34
  • 1898

负载均衡,分布式,高可用,容错的区别

概念集群(Cluster) 集群的概念是和单台服务器相对应的,简单来说集群就是部署多台服务器协同完成一项工作。 集群可以分为: 1,负载均衡(Load Balance)集群: 负责均衡服务...
  • ifrozen
  • ifrozen
  • 2016年10月28日 10:56
  • 1152

集群环境中的单例设计模式

何时使用(单例模式):         在创建线程池、缓存等对象时,我们可以使用单例模式来避免资源的浪费。但是如果你想要存储比如产品价格等全局数据的时候,单例模式就成了一种反面模式,要考虑用其他方法...
  • defonds
  • defonds
  • 2013年10月14日 10:55
  • 6169

nginx tomcat 集群与负载均衡配置实例

一、nginx tomcat 中用到的概念介绍 1、反向代理,当客户端的请求到来之后,反向代理接收这个请求然后将这个请求转发到后台的服务器上,如果做负载均衡的话,就会将这个请求分发到负载均衡的那些服务...
  • QH_JAVA
  • QH_JAVA
  • 2015年05月17日 20:24
  • 4012

RABBITMQ集群与负载均衡

1、开启4 个Rabbitmq 节点 mastering-rabbitmq1$ rabbitmq-server –detached mastering-rabbitmq2$ rabbitmq-serv...
  • suzhi921
  • suzhi921
  • 2016年07月19日 15:02
  • 209

【备忘】2016年基于Dubbo的分布式系统架构实战

课程大纲 第1节课程介绍[免费观看]20分钟| 第2节使用Dubbo对传统工程进行服务化改造的思路介绍[免费观看]15分钟| 第3节使用Dubbo对传统工程进行服务化改造[免费观看]55分钟...
  • qq_38155396
  • qq_38155396
  • 2018年01月27日 15:32
  • 32
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集群、负载均衡及分布式系统架构
举报原因:
原因补充:

(最多只允许输入30个字)