集群服务器

  集群,英文名称为Cluster,通俗地说,集群是这样一种技术:它将多个系统连接到一起,使多台服务器能够像一台机器那样工作或者看起来好像一台机器。采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。

简介

举个例子来说,我们架设了一台WWW服务器,上面构建了一个电子商务网站,然而随着时间的推移,名声越来越大,这时点击率也就越来越高,WWW服务器的负载也就越来越高。这种情况下,我们就必须提升WWW服务器的能力,以满足日益增长的服务请求。这时,我们就面临两种选择:

1)升级WWW服务器,采用更快的CPU,增加更多的内存,使其具有更强的性能;但日益增长的服务请求又会使服务器再次过载,需要再次升级,这样就陷入了升级的怪圈。还有,升级时还得考虑到服务如何接续,能否中止。

2)增加WWW服务器,让多台服务器来完成相同的服务。

第二种方法就是服务器集群,简而言之,就是一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。一个服务器集群包含多台拥有共享数据存储空间的服务器,各服务器之间通过内部局域网进行相互通信;当其中一台服务器发生故障时,它所运行的应用程序将由其他的服务器自动接管;在大多数情况下,集群中所有的计算机都拥有一个共同的名称,集群系统内任意一台服务器都可被所有的网络用户所使用。在集群系统中运行的服务器并不一定是高档产品,但服务器的集群却可以提供相当高性能的不停机服务;每一台服务器都可承担部分计算任务,并且由于群集了多台服务器的性能,因此,整体系统的计算能力将有所提高;同时,每台服务器还能承担一定的容错任务,当其中某台服务器出现故障时,系统可以在专用软件的支持下将这台服务器与系统隔离,并通过各服务器之间的负载转移机制实现新的负载平衡,同时向系统管理员发出报警信号。

两种方法

目前,有两种常用的服务器集群方法:

一种是将备份服务器连接在主服务器上,当主服务器发生故障时,备份服务器才投入运行,把主服务器上所有任务接管过来。

另一种方法是将多台服务器连接,这些服务器一起分担同样的应用和数据库计算任务,改善关键大型应用的响应时间。同时,每台服务器还承担一些容错任务,一旦某台服务器出现故障时,系统可以在系统软件的支持下,将这台服务器与系统隔离,并通过各服务器的负载转嫁机制完成新的负载分配。PC服务器中较为常见的是两台服务器的集群,UNIX系统可支持8台服务器的集群系统,康柏的专用系统OpenVMS可支持多达96台服务器的集群系统。

在集群系统中,所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。集群必须可以协调管理各分离组件的错误和失败,并可透明的向集群中加入组件。用户的公共数据被放置到了共享的磁盘柜中,应用程序被安装到了所有的服务器上,也就是说,在集群上运行的应用需要在所有的服务器上安装一遍。当集群系统在正常运转时,应用只在一台服务器上运行,并且只有这台服务器才能操纵该应用在共享磁盘柜上的数据区,其它的服务器监控这台服务器,只要这台服务器上的应用停止运行(无论是硬件损坏、操作系统死机、应用软件故障,还是人为误操作造成的应用停止运行),其它的服务器就会接管这台服务器所运行的应用,并将共享磁盘柜上的相应数据区接管过来。其接管过程如下所示(以应用A为例):

1.应用A正常工作时;

2.应用A停止工作后,其它的备用服务器将该应用接管过来。

具体接管过程分三部执行:

a.系统接管。

b.加载应用。

c.客户端连接。

优势

集群系统的优势在于以下几点:

解决所有的服务器硬件故障

当某一台服务器出现任何故障,如:硬盘、内存、CPU、主板、I/O板以及电源故障,运行在这台服务器上的应用以及其他计算资源通过网络将任务分配到集群的其他正常的节点上,而不影响正常应用或者计算.

.解决软件系统问题

我们知道,在计算机系统中,用户所使用的是应用程序和数据,而应用系统运行在操作系统之上,操作系统又运行在服务器上。这样,只要应用系统、操作系统、服务器三者中的任何一个出现故障,系统实际上就停止了向客户端提供服务,比如我们常见的软件死机,就是这种情况之一,尽管服务器硬件完好,但服务器仍旧不能向客户端提供服务。而集群的最大优势在于对故障服务器的监控是基于应用的,也就是说,只要服务器的应用停止运行,其它的相关服务器就会接管这个应用,而不必理会应用停止运行的原因是什么。

解决人为失误造成的应用系统停止工作

例如,当管理员对某台服务器操作不当导致该服务器停机,因此运行在这台服务器上的应用系统也就停止了运行。由于集群是对应用进行监控,因此其它的相关服务器就会接管这个应用。

不足之处

集群系统的不足之处在于:

集群中的应用只在一台服务器上运行,如果这个应用出现故障,其它的某台服务器会重新启动这个应用,接管位于共享磁盘柜上的数据区,进而使应用重新正常运转。我们知道整个应用的接管过程大体需要三个步骤:侦测并确认故障、后备服务器重新启动该应用、接管共享的数据区。因此在切换的过程中需要花费一定的时间,原则上根据应用的大小不同切换的时间也会不同,越大的应用切换的时间越长。

集群技术

集群技术的出现和IA架构服务器的快速发展为社会的需求提供了新的选择。它价格低廉,易于使用和维护,而且采用集群技术可以构造超级计算机,其超强的处理能力可以取代价格昂贵的中大型机,为行业的高端应用开辟了新的方向。

集群技术是一种相对较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益。

目前,在世界各地正在运行的超级计算机中,有许多都是采用集群技术来实现的。

集群是由一些互相连接在一起的计算机构成的一个并行或分布式系统。这些计算机一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来看,它们仅仅是一个系统,对外提供统一的服务。集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。这些连接允许计算机使用故障应急与负载平衡功能,而故障应急与负载平衡功能在单机上是不可能实现的。

服务器集群系统通俗地讲就是把多台服务器通过快速通信链路连接起来,从外部看来,这些服务器就像一台服务器在工作,而对内来说,外面来的负载通过一定的机制动态地分配到这些节点机中去,从而达到超级服务器才有的高性能、高可用。

集群的优点

高可伸缩性:服务器集群具有很强的可伸缩性。随着需求和负荷的增长,可以向集群系统添加更多的服务器。在这样的配置中,可以有多台服务器执行相同的应用和数据库操作。

高可用性:高可用性是指,在不需要操作者干预的情况下,防止系统发生故障或从故障中自动恢复的能力。通过把故障服务器上的应用程序转移到备份服务器上运行,集群系统能够把正常运行时间提高到大于99.9%,大大减少服务器和应用程序的停机时间。

高可管理性:系统管理员可以从远程管理一个、甚至一组集群,就好象在单机系统中一样。

时间: 2024-11-07 08:57:39

集群服务器的相关文章

集群服务器状态命令------rs.status()各个字段的含义

可根据rs.status() 查询集群服务器状态.字段解释: self 这个信息出现在执行rs.status()函数的成员信息中 stateStr用户描述服务器状态的字符串.有SECONDARY,PRIMARY,RECOVERING等 uptime 从成员可到达一直到现在经历的时间,单位是秒. optimeDate 每个成员oplog最后一次操作发生的时间,这个时间是心跳报上来的,因此可能会存在延迟 lastHeartbeat 当前服务器最后一次收到其他成员心跳的时间,如果网络故障等可能这个时间

集群服务器Session同步及一种基于Memcached的session同步

1 Session的集群管理 事实上,网站总是有状态的.每一个登录信息.用户信息常常被存储在session内部.而当一个网站被部署在不止一台服务器的时候,就会遇到session同步的问题.事实上即使一个很小的网站,也要至少有两台服务器互为备份,分单流量是必须得,更重要的是无缝切流量升级.为了保证服务的不间断又要进行网站的维护升级,切流量是最简单的.那么如何保证切流量的时候session也会跟着同步过去呢?在集群环境下,大致有以下几种手段 1.1 Session复制 这是一种在早期应用系统中使用较

ubuntu14.04 server 部署 zookeeper 集群服务器

zookeeper是什么? Apache ZooKeeper 是一个面向分布式应用程序的高性能协调服务器.它使用一个简单的接口暴露公共服务(比如命名和配置管理.同步和组服务),让用户不必从头开始编程.它为实现共识.组管理.领导者选举和到场协议(presence protocol)配备了现成的支持. 下面是我在ubuntu14.04 server中部署 zookeeper集群服务器的经验 zookeeper集群服务器的部署 1.安装jdk 之前安装jdk都是自己手动配置环境,这次为了偷懒就使用了a

SQL Server集群服务器的优缺点

由二台或更多物理上独立的服务器共同组成的“虚拟”服务器称之为集群服务器.一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进行管理.一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器.如果集群中的一个节点发生故障,集群中的另一个节点就承担这个故障节点的责任. 认为一个SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解.虽然这似乎很有用,但却是不正确的.这也意味着集束SQL Server不能真正提高性能

使用概要管理工具创建定制概要文件,并在此节点上 创建集群以及在集群服务器中部署应用

使用概要管理工具创建定制概要文件,并在此节点上 创建集群以及在集群服务器中部署应用 上篇介绍了在Lnux上安装WebsphereV8.5,以及使用概要管理工具创建了Dmgr管理概要文件. Dmgr服务器不能运行应用程序,应用程序需要运行在特定的JavaEE服务器上,Dmgr管理服务器只负责管 理与它联合的节点.可以在新建的profile对应的节点上创建Websphere实例或者集群实例.并把此节点与 Dmgr服务器联合,交由Dmgr管理.此篇介绍使用概要管理工具创建定制概要文件,并在此节点上创建

Nginx搭建集群服务器过程详解

Nginx+Apache+PHP+MySQL搭建集群服务器过程详解 概念介绍在本文未能提及,请自助上网科普,直接进入过程详解: 集群架构图大致如下: 一.软件下载 序号 软件名称 软件版本 下载地址 1 操作系统 Windows Server 2008 Enterprise 64bit 2 Php php-5.6.19-Win32-VC11-x64 Thread Safe(由于HTTP服务器用的apache) http://windows.php.net/downloads/releases/p

Redis集群服务器-高可用调研随笔[转]

今天改了一天的Bug,本想下午开始专研Redis命令集,结果也泡汤了.只能在下班的路上考虑下Redis集群服务器的高可用方案.随笔而已,尚未成型,仅作记录. 当然,我说的可能比较片面,欢迎拍砖.斧正. 一.Redis与MySQL对比 相同点: Master-Slave架构,集群架构下无法很好的完成数据拷贝,确保数据一致性. 支持数据文件持久化存储,但数据文件过大时,宕机重启可能存在安全隐患. 不同点: Redis时效性能远比MySQL要高得多,支持复杂的数据类型,基本上都是内存操作,效率远胜于M

FastDFS集群服务器搭建

1.什么是FastDFS? FastDFS是一个开源的轻量级分布式文件系统.它解决了大数据量存储和负载均衡等问题.特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站.视频网站等等.在UC基于FastDFS开发向用户提供了:网盘,社区,广告和应用下载等业务的存储服务. 2.FastDFS架构: FastDFS服务端有三个角色:跟踪服务器(tracker server).存储服务器(storage server)和客户端(client). tr

采用EaglePHP框架解决分布式集群服务器利用MEMCACHE方式共享SESSION数据的问题

一.问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网 站,用户系统是统一的,即一套用户名.密码在整个网站的各个模块中都是可以登录使用的.各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库 服务器,各个服务器通过统一接口对用户数据进行访问即可.但还存在一个问题,就是用户在这个服务器登录之后,进入另一个服务器的别的模块时,仍然需要重新 登录,这就是一次登录,全部通行的问题,映射到技术上,其实就是各个服务器之间如何实现