`
dongliwei122
  • 浏览: 82374 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

什么是集群(Cluster)

阅读更多
一、什么是集群?

  集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并通过系统级的冗余提供固有的可靠性和可用性。

二、集群的分类:

1、高性能计算科学集群:

  以解决复杂的科学计算问题为目的的IA集群系统。是并行计算的基础,它可以不使用专门的由十至上万个独立处理器组成的并行超级计算机,而是采用通过高速连接来链接的一组1/2/4 CPU的IA服务器,并且在公共消息传递层上进行通信以运行并行应用程序。这样的计算集群,其处理能力与真正超级并行机相等,并且具有优良的性价比。 

2、负载均衡集群:

  负载均衡集群为企业需求提供更实用的系统。该系统使各节点的负载流量可以在服务器集群中尽可能平均合理地分摊处理。该负载需要均衡计算的应用程序处理端口负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了大量入网流量,无法迅速处理,这就需要将流量发送给在其它节点。负载均衡算法还可以根据每个节点不同的可用资源或网络的特殊环境来进行优化。

3、高可用性集群:

  为保证集群整体服务的高可用,考虑计算硬件和软件的容错性。如果高可用性群集中的某个节点发生了故障,那么将由另外的节点代替它。整个系统环境对于用户是一致的。

    实际应用的集群系统中,这三种基本类型经常会发生混合与交杂。

三、典型集群:

科学计算集群:

1、Beowulf
当谈到 Linux 集群时,许多人的第一反映是 Beowulf。那是最著名的 Linux 科学软件集群系统。实际上,它是一组适用于在 Linux 内核上运行的公共软件包的通称。其中包括流行的软件消息传递 API,如“消息传送接口”(MPI) 或“并行虚拟机”(PVM),对 Linux 内核的修改,以允许结合几个以太网接口、高性能网络驱动器,对虚拟内存管理器的更改,以及分布式进程间通信 (DIPC) 服务。公共全局进程标识空间允许使用 DIPC 机制从任何节点访问任何进程。

2、MOSIX

Beowulf类似于给系统安装的一个支持集群的外挂软件,提供了应用级的集群能力。而MOSIX是彻底修改Linux的内核,从系统级提供了集群能力,它对应用而言是完全透明的,原有的应用程序,可以不经改动,就能正常运行在MOSIX系统之上。集群中的任何节点都可以自由地加入和移除,来接替其它节点的工作,或是扩充系统。MOSIX 使用自适应进程负载均衡和内存引导算法使整体性能最大化。应用程序进程可以在节点之间实现迁移,以利用最好的资源,这类似于对称多处理器系统可以在各个处理器之间切换应用程序。由于MOSIX通过修改内核来实现集群功能,所以存在兼容性问题,部分系统级应用程序将无法正常运行。

负载均衡/高可用性集群

3、LVS(Linux Virtual Server)

这是一个由国人主持的项目。它是一个负载均衡/高可用性集群,主要针对大业务量的网络应用(如新闻服务、网上银行、电子商务等)。LVS是建立在一个主控服务器(通常为双机)(director)及若干真实服务器(real-server)所组成的集群之上。real-server负责实际提供服务,主控服务器根据指定的调度算法对real-server进行控制。而集群的结构对于用户来说是透明的,客户端只与单个的IP(集群系统的虚拟IP)进行通信,也就是说从客户端的视角来看,这里只存在单个服务器。Real-server可以提供众多服务,如ftp, http, dns, telnet, nntp, smtp 等。主控服务器负责对Real-Server进行控制。客户端在向LVS发出服务请求时,Director会通过特定的调度算法来指定由某个Real-Server来应答请求,而客户端只与Load Balancer的IP(即虚拟IP,VIP)进行通信。

其他集群:
现在集群系统可谓五花八门,绝大部分的OS开发商,服务器开发商都提供了系统级的集群产品,最典型的是各类双机系统,还有各类科研院校提供的集群系统。以及各类软件开发商提供的应用级别的集群系统,如:数据库集群,Application Server 集群,Web Server集群,邮件集群等等。
分享到:
评论

相关推荐

    mysql_cluster集群

    ### MySQL Cluster 集群详解 #### 一、MySQL Cluster 概述 MySQL Cluster 是一种高性能、高可用性且可扩展的集群解决方案,主要用于在无共享架构中部署内存中的数据库集群。这种架构允许使用低成本的硬件设备,...

    MySQL Cluster集群构建实战

    ### MySQL Cluster集群构建实战 #### 一、MySQL Cluster 概述与部署 MySQL Cluster是一种高度可用、可扩展的分布式数据库解决方案,它通过无共享架构实现了内存中的数据存储,旨在提高系统的高可用性和高实时性。...

    MySQL Cluster(MySQL 集群)

    ### MySQL Cluster(MySQL 集群) #### 一、MySQL Cluster 概述 MySQL Cluster 是 MySQL 的一个高级版本,特别适用于分布式计算环境。它通过采用 NDB Cluster 存储引擎,实现了高度可用性和数据一致性。MySQL ...

    MySQL Cluster集群搭建详解

    MySQL Cluster是一种可扩展的、高性能的、容错能力强的集群数据库解决方案。它通过其独特的分布式架构设计,支持在多个节点间进行数据的复制和同步,能够提供高可用性和冗余性。对于想要搭建MySQL Cluster集群的新手...

    mysql cluster集群安装

    MySQL Cluster是一种高可用性和高性能的数据库解决方案,特别适合处理大数据量的应用。在当前的大数据时代,数据的安全性、稳定性和高效存储变得至关重要。MySQL Cluster通过数据分片、高可用性保证以及灵活的数据...

    openfire 集群cluster需要用到的jar包

    openfire 集群cluster需要用到的jar包,网上不太好找了,亲测openfire3.7.1版本完全可用,效果很好比较稳定

    Redis-Cluster集群模式部署

    Redis Cluster 集群模式部署 本文将详细介绍 Redis Cluster 集群模式部署的步骤和配置过程。Redis Cluster 是 Redis 的一个高可用解决方案,通过将多个 Redis 节点组合成集群,提高 Redis 的可用性和性能。 环境...

    Redis-注册中心集群 Cluster 集群-单服务器

    Redis-注册中心集群 Cluster 集群-单服务器

    Redis-Cluster 分布式集群.docx

    使用`CLUSTER NODES`命令查看当前集群节点的状态,`CLUSTER ADDSLOTS`分配新的槽,`CLUSTER REMOVE`移除节点,`CLUSTER REPLICATE`更改节点的复制关系。 此外,Redis Cluster具有自动故障转移的特性,当主节点失败...

    red5集群cluster方案

    - **源码编译**:利用Eclipse的Ant插件编译`build.xml`下的`dist-cluster.xml`文件,确保编译成功。 - **配置修改**:在`red5-origin-core.xml`中,将`spring`改为`beans`以解决配置错误。接着,打开`red5.xml`...

    RedisCluster集群搭建代码及相应软件

    RedisCluster是Redis官方提供的分布式集群解决方案,它通过数据分片技术实现了高可用性和可扩展性。RedisCluster将数据分散在多个节点上,每个节点存储一部分数据,并通过槽(slot)来管理和分配数据。这种方式允许...

    搭建mysql-cluster集群.docx

    搭建MySQL Cluster集群 MySQL Cluster是适用于分布式计算环境的高可用、高冗余版本的MySQL,其技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应...

    galera cluster for mysql集群部署方案

    ### Galera Cluster for MySQL 集群部署方案详解 #### 一、Galera Cluster 概述 Galera Cluster 是一种用于 MySQL 的高可用性、高性能的解决方案,它通过多节点同步复制来提供高可用性和灾难恢复能力。Galera 的...

    集群软件(cluster)包安装与配置

    接着,可以查看已安装的软件列表,通过命令如“lslpp -l | grep cluster”来检查集群软件相关组件是否安装成功。如果需要升级软件,也要先进入解压后的目录进行升级操作,之后查看软件版本确认升级成功,并重启系统...

    jfinal redis cluster plugin-JFinal redis cluster集群插件 带连接池和Jedis包

    标题中的“jfinal redis cluster plugin”指的是一个专为JFinal框架设计的Redis集群插件,旨在帮助开发者在使用JFinal时能便捷地接入并管理Redis集群。JFinal是一款基于Java的轻量级Web开发框架,它以其简洁的API...

    Redis Cluster集群部署搭建详解附件

    本文将详细解析如何搭建Redis Cluster集群,包括集群的基本概念、配置、节点间通信以及常见问题处理。 一、Redis Cluster基础概念 1. 节点:每个运行Redis服务的实例称为一个节点,至少需要3个节点才能创建一个基本...

    Tomcat集群Cluster实现原理剖析.doc

    Tomcat集群Cluster实现原理剖析.doc

    rediscluster集群demo

    本示例“rediscluster集群demo”旨在展示如何设置和操作一个简单的Redis Cluster实例,确保在本地环境中的正确运行。 首先,Redis Cluster采用无中心架构,每个节点都是对等的,并且负责一部分数据。它通过槽(slot...

Global site tag (gtag.js) - Google Analytics