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

原创 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是目标之一。

相关文章推荐

weblogic集群设置和集群原理

一、weblogic集群设置以下三点:1、weblogic.xml设置集群的session为复制信息,修改以下语句:  PersistentStoreType memery 为: Persistent...

dubbo+zookeeper背景用途介绍

我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就是分布...

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

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

基于dubbo从传统MVC架构转向SOA架构分布式设计4--(服务部署集群搭建及负载均衡)

这篇文章接着下一步是建我们的服务进行打包发布; 我就不去过多开那么多虚拟机了,还是上次那两台 1.把soa-user-core打包成.tar.gz 1.1找出我们下载的源码dobbo-demo-pro...

负载均衡--大型在线系统实现的关键(下篇)(服务器集群架构的设计与选择)

本文作者:sodme 本文出处:http://blog.csdn.net/sodme 声明:本文可以不经作者同意任意转载,但任何对本文的引用都须注明作者、出处及此声明信息。谢谢!!   在网...
  • w00w12l
  • w00w12l
  • 2015年04月16日 15:27
  • 591

分布式系统中负载均衡算法在高可用场景下的分析

分布式系统中负载均衡算法在高可用场景下的分析 在分布式系统中,负载均衡是非常重要的环节,通过负载均衡将请求派发到网络中的一个或多个节点上进行处理。通常来说,负载均衡分为硬件负载均衡及软件负载均衡。...

Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用

一、Keepalived介绍    Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Server)使用,其功能类似于heartbeat,解决单机...
  • iop090q
  • iop090q
  • 2016年04月20日 10:42
  • 3627

负载均衡--大型在线系统实现的关键(下篇)(服务器集群架构的设计与选择)

本文作者:sodme 本文出处:http://blog.csdn.net/sodme 声明:本文可以不经作者同意任意转载,但任何对本文的引用都须注明作者、出处及此声明信息。谢谢!!   在网...

负载均衡--大型在线系统实现的关键(下篇)(服务器集群架构的设计与选择)

本文作者:sodme本文出处:http://blog.csdn.net/sodme/archive/2005/06/15/394576.aspx声明:本文可以不经作者同意任意转载,但任何对本文的引用都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集群、负载均衡及分布式系统架构
举报原因:
原因补充:

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