一、什么是集群?
集群(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集群,邮件集群等等。
分享到:
相关推荐
* 什么是集群?:集群是指将多台计算机连接在一起,共同完成一项任务的处理方式。 * 集群有什么作用?:集群可以提高任务的处理速度和效率,减少单台计算机的工作负载。 环境要求: * 配置好点的主机一台,副机...
10.1.8 是否使用过Redis集群,集群的原理是什么?
.java访问 redis集群?
服务器集群技术,简称HA(High Availability),是一种将多台服务器整合为单一系统资源的技术,旨在提升系统的性能、可靠性和灵活性,同时降低成本。集群技术在近年来得到了广泛应用,特别是在高性能计算、数据中心...
Java面试题80:java访问redis级redis集群?.mp4
使用 Pacemaker 管理高可用集群,需要创建集群用户、设置 pcsd 开机自启动、集群各节点之间进行认证、创建并启动集群、设置集群自启动、查看集群状态信息、设置 fence 设备等。 配置存储 高可用集群可以使用本地...
3.什么是J2EE集群? 4.WEB层集群实现8 4.1.WEB层负载均衡 4.2.HTTP会话的失败转移 4.2.1.数据库持久方案 4.2.2.内存复制方案 4.2.3.Tomcat的方案:多服务器复制 4.2.4.WebLogic, WebSphere, JBoss的方案:结对...
【集群技术概述】 集群技术是一种将多个独立的计算机节点通过高速网络互连,形成一个统一、协调工作的系统,以提供高可用性和高性能的服务。这种技术有效地解决了单台服务器的可用性和性能瓶颈问题,使得企业能够以...
k8s集群搭建redis集群 k8s集群搭建redis集群 k8s集群搭建redis集群 k8s集群搭建redis集群 k8s集群搭建redis集群
本文将详细解析Kettle的两种集群模式:固定数量子服务器的集群和动态集群。 ### 固定数量子服务器的集群 **使用条件**:适用于需要处理大量数据的场景,且有确定数量的子服务器可以持续在线运行。如果在处理过程...
WebSphere Application Server (WAS) 集群是一种高可用性和可伸缩性的解决方案,它允许将多个WAS实例组织成一个逻辑单元,以便在这些实例之间共享工作负载和服务。这个"was集群说明文档"可能包含了如何配置、管理和...
Ambari完全卸载脚本,参数加host列表文件,卸载前请确认脚本是否符合本地真实情况
本篇文章将深入探讨两个主流的消息队列服务——RabbitMQ和ActiveMQ,特别是它们在集群环境下的部署和配置。 首先,我们来看RabbitMQ集群。RabbitMQ是一款基于AMQP协议的开源消息中间件,由Erlang编程语言实现,以其...
clickhouse集群部署说明-ck集群,clickhouse 集群部署以及建表语句,分布式
在SpringCloud框架中,部署Redis集群是实现高可用、数据持久化和分布式缓存的关键步骤。Redis是一款高性能的键值数据库,广泛应用于缓存、消息队列等多种场景。SpringCloud通过集成Spring Data Redis模块,使得在...
搭建minio 集群教程
大数据Druid集群实时分析搭建 Druid是大数据实时分析平台,能够处理大量数据的实时查询和分析。以下是大数据Druid集群实时分析搭建的详细步骤和知识点: 环境准备 * 3台ECS服务器,each with 4 cores, 8G memory,...
KAA 集群搭建详解 KAA 集群搭建是指将 KAA 服务器组成集群,以提高系统的可用性、可靠性和性能。本文将详细介绍 KAA 集群搭建的步骤,包括 MariaDB 集群搭建、MongoDB 集群搭建和 Zookeeper 集群搭建。 一、...