目录
一.集群功能分类
(一)分类
集群可以根据不同的分类标准进行分类,以下是几种常见的集群分类方式:
高可用集群(High Availability Cluster)LA:高可用集群旨在提供系统的高可用性和容错性,通过将多个服务器组成集群,实现故障转移和自动恢复。当一个节点发生故障时,其他节点可以接管其工作,保证系统的持续可用性。
负载均衡集群(Load Balancing Cluster):的主要目的是通过将请求分发到多个服务器上来平衡负载,从而提高系统的性能和可扩展性。负载均衡集群可以根据不同的负载均衡算法将请求分发给不同的服务器,以确保每个服务器都能够处理适量的请求。当其中一个服务器宕机或无法提供服务时,负载均衡器会将请求重新分发给其他可用的服务器,从而实现高可用性和故障恢复能力。
数据库集群(Database Cluster):数据库集群是将多个数据库服务器组成集群,实现数据的分布式存储和高可用性。数据库集群可以提供更高的数据库性能和可靠性,并支持水平扩展和数据备份。
分布式计算集群(Distributed Computing Cluster):分布式计算集群是将多个计算节点组成集群,通过分布式计算的方式实现高性能的计算和数据处理。分布式计算集群可以利用集群中的多个节点并行处理任务,提高计算效率。
容器集群(Container Cluster):容器集群是将多个容器引擎(如Docker)组成集群,实现容器的部署、管理和调度。容器集群可以提供弹性和灵活性,支持快速部署和扩展应用程序
例子:
高可用集群:一个常见的高可用集群例子是基于主备架构的数据库集群,如MySQL的主从复制集群。在这种集群中,有一个主节点负责处理读写请求,而备节点则作为冗余备份,当主节点发生故障时,备节点可以接管其工作,保证系统的持续可用性。
负载均衡集群:一个常见的负载均衡集群例子是Web服务器集群,如Nginx或Apache HTTP Server。在这种集群中,负载均衡器会根据负载均衡算法将请求分发到多个服务器上,从而实现请求的分担和负载均衡。
数据库集群:一个常见的数据库集群例子是MongoDB的分片集群。在这种集群中,数据被分散存储在多个分片上,每个分片负责存储一部分数据。通过分片和数据复制的方式,数据库集群可以实现数据的分布式存储和高可用性。
分布式计算集群:一个常见的分布式计算集群例子是Apache Hadoop集群。在这种集群中,多个计算节点通过Hadoop分布式文件系统(HDFS)共享数据,通过MapReduce等分布式计算框架实现高性能的计算和数据处理。
容器集群:一个常见的容器集群例子是Kubernetes集群。在这种集群中,多个容器引擎(如Docker)被部署在多个节点上,通过Kubernetes进行容器的调度和管理。容器集群可以实现应用程序的弹性扩展和快速部署。
(二)LB
LVS是LB(负载均衡集群)的一个软件负载均衡设备,当然LB的软件负载均衡设备还有HAproxy,NGINX。而 HAproxy:主要功能是针对http协议实现负载均衡,也可以实现tcp(mysql,smtp)等协议的负载均衡
二.负载均衡
(一)负载均衡的主要方式
主要有http重定向,DNS负载均衡,nginx反向代理负载均衡,IP网络层负载均衡(lvs-nat),数据链路层负载均衡(LVS-DR),F5硬件负载均衡.
1.IP网络层负载均衡(lvs-nat)
原理:
在网络层和传输层(IP和端口)通过修改目标地址进行负载均衡。用户访问请求到达负载均衡服务器,负载均衡服务器在操作系统内核进程获取网络数据包,根据算法得到一台真实服务器地址,然后将用户请求的目标地址修改成该真实服务器地址,数据处理完后返回给负载均衡服务器,负载均衡服务器收到响应后将自身的地址修改成原用户访问地址后再讲数据返回回去。类似于反向服务器负载均衡。
2.数据链路层负载均衡(LVS-DR)
原理
在数据链路层修改Mac地址进行负载均衡。负载均衡服务器的IP和它所管理的web 服务群的虚拟IP一致;负载均衡数据分发过程中不修改访问地址的IP地址,而是修改Mac地址;通过这两点达到不修改数据包的原地址和目标地址就可以进行正常的访问。
三.轮询算法
(一)轮询
Round-Robin: 调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
(二) WRR 加权轮询
调度器通过"加权轮叫"调度算法,根据真实服务器的不同处理能力.来调度访问请求。这样可以保证处理能力强的服务器,处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
(三)LC 最少连接
调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载。
(四)WLC 加权最少连接
在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。