集群、负载均衡集群、高可用集群简介,LVS工作结构、工作模式、调度算法和haproxy/nginx模式拓扑介绍

一.集群的定义

1.定义

2.分类

(1)负载均衡集群(LBC/LB)

(2)高可用集群(HAC)

二.使用集群的意义

1.高性价比和性能比

2.高可用性

3.可伸缩性强

4.持久和透明性高

三.常见的两种集群模式拓扑

1.LVS(-DR)集群模式

(1)工作架构

(2)LVS下的相关术语

(3)LVS的工作模式

VS/NAT:

VS/DR:

VS/TUN:

(4) LVS调度器算法

固定调度:

动态调度:

 2.haproxy/nginx模式

 四.常用集群软硬件列举

1.企业常用集群软件

2.企业常用集群硬件


 

一.集群的定义

1.定义

是一组协同工作的服务器,在外部访问者看来是一个整体。集群是一种并行或分布式系统,包括一个互连的整体计算机集合作为一种单一、同意的计算资源使用,使用集群管理服务,可以获得更高的性能、可靠性和灵活性,实现资源的高度可用。集群又可以分为负载均衡集群、高可用性集群、高性能计算机群、网络计算等类别。

2.分类

(1)负载均衡集群(LBC/LB)

也可以称服务器群,一般通过一个或多个前端负载均衡器将数据请求转发到后端部分服务器上,使客户访问请求压力在各服务器之间尽可能分摊,包括程序处理负载和网络流量负载,也可以实现访问请求在各节点间动态分配,灵活负载。

(2)高可用集群(HAC)

高可用集群下的服务器运行速度和响应速度较快,一般是已配置好的集群服务中有任意节点失效时,将其分配到的压力自动转移到其他正常节点上,一般情况下这个节点的失效不会影响整个集群的运行,如果主节点失效,次节点完全可以接替其身份和资源进一步正常处理主节点下的任务。

二.使用集群的意义

1.高性价比和性能比

以pc服务器或RISC服务器组成集群可以大规模降低部署成本,分开管理,在性能上也有很大的优势

2.高可用性

在硬件和软件上都有冗余,可以进一步检测到软硬件的故障,进而解决或屏蔽故障有正常运转的节点继续提供服务

3.可伸缩性强

集群系统的节点数可以到几千甚至几万个,在其上甚至可以简易地去开发应用程序

4.持久和透明性高

服务器对于客户端来说,部分服务器的加入和退出不会中断对用户的服务,对用户来说相对透明

三.常见的两种集群模式拓扑

1.LVS(-DR)集群模式

(1)工作架构

如图示,多台提供服务的服务器(组)和数据备份(共享存储)服务器位于局域网内,提供服务的服务器又连接到广域网,用户通过互联网/加速器能够进行访问。LVS模式下用户发出数据请求,LVS负载均衡服务器组收到后按自身算法1将请求通过广域网交给apache/nginx服务器组,apache/nginx服务器组处理好后直接将结果返还给用户,无需经过负载均衡组。

LVS-DR负载均衡服务器组所在层又可称为load balancer(包含director server),apache/nginx服务器群组所在层又可称为server array(包含real server——集群节点),后方的数据共享存储层可称为shared storage。

23f7cac734324b6d859ad077804a8da6.png

load balancer:位于整个集群系统最前端,由一台或多台负载调度器组成,LVS是安装在director server上的,其中包含有LVS功能设定的路由表,通过路由表把数据请求抓发给server array,还可以在direct server上安装对real server的监控板块,检测健康状态。

server array:由一组真实的应用服务器组成,每个real server之间通过lan或wan相连接,在真实场景中,director server可以充当real server。

shared storage:为所有的real server提供数据存储和空间共享服务,保持内容一致性,一般是由磁盘阵列设备、nfs文件共享系统、gfs文件系统或ocfs2文件系统等等组成

(2)LVS下的相关术语

虚拟IP地址——VIP,director server用来向客户端计算机提供服务的IP地址

真实IP地址——RIP,在集群节点上使用的IP地址

director server的IP地址——DIP,director用于连接外网的IP地址

客户端主机IP地址——CIP,客户端请求集群服务器的IP地址,用作发送给集群的数据请求的源IP地址

(3)LVS的工作模式

 LVS的IP负载均衡通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件。主要作用是:安
装在Director Server上,同时在Director Server上虚拟出一个IP地址,客户端访问时也要通过这个IP地址。这个虚拟IP一般称为LVS的VIP,访问的请求首先经过VIP到达负载调度器,然后由负载调度器从Real Server列表中选取一个服务节点响应用户的请求。当用户的请求到达负载调度器后,IPVS重点关注调度器如何将请求发送到提供服务的Real Server节点,Real Server节点如何返回数据给用户,IPVS实现负载均衡机制有DR、NAT、TUN三种。

VS/NAT:

网络地址翻译技术实现虚拟服务器,当用户请求到达调度器时,调度器将请求报文的目标地址(虚拟IP地址)改写成选定的Real Server地址,同时报文的目标端口也改成选定的Real Server的相应端口,最后将报文请求发送到选定的Real Server。在服务器端得到数据后,Real Server要原路经过负载调度器将报文的源地址和源端口改成虚拟IP地址和相应端口,然后把数据发送给用户。

VS/DR:

直接路由技术实现虚拟服务器,应用最多,要求Director Server与Real Server都有一块网卡连在同一物理网段上。它的连接调度和管理与VS/NAT相同,但VS/DR通过改写请求报文的MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,节省了开销,性能最好。

VS/TUN:

IP隧道技术实现虚拟服务器,应用较少不要求Director Server与Real Server都有一块网卡连在同一物理网段上。它的连接调度和管理与VS/NAT方式相同,但调度器采用IP隧道技术将用户请求转发到某个Real Server,而这个Real Server将直接响应用户的请求,不再经过前端调度器,调度器只处理用户的报文请求,吞吐量较高。

(4) LVS调度器算法

调度器在收到入站请求时需要立即做出决定将请求分配给哪个服务器(节点)

固定调度:

rr:常用调度算法之一,轮询调度,在real server中均摊请求,此算法适用于处理性能相差不大的情况。

wrr:常用调度算法之一,加权轮循调度,依据不同real server的权重值分配任务,权值较高的real

server将优先分配,分配到的连接数也比权值较低的real server多,如果权值相同那么real serve

得到相同数目的连接。

dh:目的哈希调度,以目的地址为关键字查找一个静态hash表来分配real server。

sh:源地址哈希调度,以源地址为关键字查找一个静态hash表来分配real server。

动态调度:

lc:常用调度算法之一,最小连接数调度,会把新的连接请求发送到IPVS表中连接数最小的real

server。

wlc:常用调度算法之一,加权最小连接数调度,依次选取“TCP连接数/权重值”为最小的real server

作为下一个分配节点。

lblc:基于地址的最小连接数调度,如果这一台设备仍然可以处理请求就将来自同一目的地址的请

求分配给同一台real server,否则分配给连接数最小的real server,作为下次分配请求的首选real

server。

lblcr:基于地址带重复最小连接数调度,目的地址会对应一个real server子集,为请求分配子集中

连接数最小real server,如果服务器中所有子集均已满载,则从集群中选择一个连接数较小服务

器,将它加入到这个子集并分配连接,一定时间内不干预就会将子集中负载最大的节点从子集中移

除。

SED:最短期望的延迟算法,基于wlc算法,将连接交给wlc结果最小的real server。假如A、B、C

分别权重为1、2、3,连接数分别是1、2、3,使用sed算法后运算式如下:A(1+1)/1、B(1+2)/2、

C(1+3)/3,就会交给C服务器。

NQ:最少队列调度,如果有台real server的连接数=0就直接分配过去,此时不想需要进行SED运

算,如果不处于空闲状态需要进行SED的运算。

 2.haproxy/nginx模式

如图示,大体与LVS差不多,但是haproxy/nginx模式下apache/nginx/图片服务器处理好的结果需要经过请求的原路返回给用户 

dcf3586bcf574698b270e946213b3415.png

 四.常用集群软硬件列举

1.企业常用集群软件

LVS,keepalived,haproxy,nginx,apache,heartbeat

2.企业常用集群硬件

F5,Netscaler,Radware

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/73683.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java面试基础 -- 普通类 抽象类 接口

目录 抽象类语法 抽象类特性 普通类 & 抽象类 抽象类 & 接口 什么是接口 语法 接口方法 变量 接口特性 抽象类&接口的区别 抽象类语法 在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象…

无涯教程-Perl - splice函数

描述 此函数从LENGTH元素的OFFSET元素中删除ARRAY元素,如果指定,则用LIST替换删除的元素。如果省略LENGTH,则从OFFSET开始删除所有内容。 语法 以下是此函数的简单语法- splice ARRAY, OFFSET, LENGTH, LISTsplice ARRAY, OFFSET, LENGTHsplice ARRAY, OFFSET返回值 该函数…

Linux 网络发包流程

哈喽大家好,我是咸鱼 之前咸鱼在《Linux 网络收包流程》一文中介绍了 Linux 是如何实现网络接收数据包的 简单回顾一下: 数据到达网卡之后,网卡通过 DMA 将数据放到内存分配好的一块 ring buffer 中,然后触发硬中断CPU 收到硬中…

动态loading中转页

动态loading中转页 template <div class"loading"><div class"wavy"><!-- --i是自定义属性&#xff0c;可通过var函数调用 --><span style"--i: 1">登</span><span style"--i: 2">录</span>…

【代码随想录-Leetcode第六题:209. 长度最小的子数组】

209. 长度最小的子数组 题目思路代码实现 题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回…

ARM 作业1

一、思维导图 二、 1. 2. .text 文本段 .globl _start 声明_start:mov r0,#0mov r1,#0fun:cmp r1,#100bhi stopadd r0,r0,r1add r1,r1,#1b fun stop:b stop .end

【Unity每日一记】进行发射,位置相关的方法总结

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

C语言好题解析(三)

目录 选择题一选择题二选择题三选择题四编程题一编程题二 选择题一 以下程序段的输出结果是&#xff08;&#xff09;#include<stdio.h> int main() { char s[] "\\123456\123456\t"; printf("%d\n", strlen(s)); return 0; }A: 12 B: 13 …

『C语言』数据在内存中的存储规则

前言 小羊近期已经将C语言初阶学习内容与铁汁们分享完成&#xff0c;接下来小羊会继续追更C语言进阶相关知识&#xff0c;小伙伴们坐好板凳&#xff0c;拿起笔开始上课啦~ 一、数据类型的介绍 我们目前已经学了基本的内置类型&#xff1a; char //字符数据类型 short …

数组详解

1. 一维数组的创建和初始化 1.1 数组的创建 数组是一组相同类型元素的集合。 数组的创建方式&#xff1a; type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式&#xff0c;用来指定数组的大小 数组创建的实例&#xff1a; //代码1 int a…

Gradio部署应用到服务器不能正常访问

用Gradio部署一个基于ChatGLM-6B的应用&#xff0c;发布到团队的服务器上&#xff08;局域网&#xff0c;公网不能访问&#xff09;&#xff0c;我将gradio应用发布到服务器的9001端口 import gradio as gr with gr.Blocks() as demo:......demo.queue().launch(server_port90…

linux系统服务学习(六)FTP服务学习

文章目录 FTP、NFS、SAMBA系统服务一、FTP服务概述1、FTP服务介绍2、FTP服务的客户端工具3、FTP的两种运行模式&#xff08;了解&#xff09;☆ 主动模式☆ 被动模式 4、搭建FTP服务&#xff08;重要&#xff09;5、FTP的配置文件详解&#xff08;重要&#xff09; 二、FTP任务…