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

news2024/11/25 13:02:56

一.集群的定义

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.coloradmin.cn/o/880896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无涯教程-Perl - sethostent函数

描述 该函数应在首次调用gethostent之前调用。 STAYOPEN参数是可选的,在大多数系统上未使用。 当gethostent()检索主机数据库中下一行的信息时,然后sethostent设置(或重置)枚举到主机条目集的开头。 语法 以下是此函数的简单语法- sethostent STAYOPEN返回值 此函数不返回…

opencv进阶02-在图像上绘制多种几何图形

OpenCV 提供了方便的绘图功能,使用其中的绘图函数可以绘制直线、矩形、圆、椭圆等多种几何图形,还能在图像中的指定位置添加文字说明。 OpenCV 提供了绘制直线的函数 cv2.line()、绘制矩形的函数 cv2.rectangle()、绘制圆的函数cv2.circle()、绘制椭圆的…

高忆管理:策略:短期利空落地 市场有望企稳回升

高忆管理指出,基于A股商场出资环境分析,尤其是当时商场存量博弈为主的布景下,主张重视以下“21”主线轮动:(1)国产科技代替立异:电子(半导体、消费电子)、通信&#xff0…

人工智能在监控系统中的预测与优化:提升效率和响应能力

引言:人工智能的发展给监控系统带来了新的可能性,通过分析历史监控数据和其他相关数据,人工智能可以预测未来可能发生的事件,如交通拥堵、安全隐患等,并帮助优化监控系统的配置和资源分配。这种预测和优化的能力可以提…

Antv/G2 柱状图

Antv/G2 教程 G2 是一套基于图形语法理论的可视化底层引擎,以数据驱动,提供图形语法与交互语法,具有高度的易用性和扩展性。使用 G2,无需关注图表各种繁琐的实现细节,一条语句即可使用 Canvas 或 SVG 构建出各种各样的…

一般股票量化交易接口需要用到哪些编程语言?

股票量化交易接口可以使用多种编程语言进行开发和调用。以下是一些常用的编程语言: 1. Python:Python是一种脚本语言,广泛应用于量化交易领域。它有丰富的第三方库和工具,如Pandas、NumPy和pyalgotrade等,可用于数据分…

nodejs+vue+elementui+express智慧社区小区物业管理系统的设计与实现_2p760

开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 前端nodejsvueelementuiexpress vue的文件结构其实就是一个index.html 中间的内容,用的是vue,但最终都会转…

问道管理:县域商业3年行动计划发布 城中村改造有望带动多行业需求

昨日,两市股指低开低走,三大股指早盘均跌超1%,午后跌幅有所收窄;到收盘,沪指跌0.34%报3178.43点,深成指跌0.5%报10755.14点,创业板指跌1.02%报2164.69点;两市算计成交7419亿元&#…

海国图志#2:这一周难忘瞬间,吐血整理,不得不看

这里记录每周值得分享的新闻大图,周日发布。 文章以高清大图呈现,解说以汉语为主,英语为辅,英语句子均来自NYTimes、WSJ、The Guardian等权威媒体原刊。 存档时段:20230807-20230813 葡萄牙,雷根戈 一架直升…

这四种订货系统不能选(三):不能定制开发

在企业的运营过程中,需求会不断变化。如果不能随着运营需求的变化而进行定制开发的订货系统,那么它可能会变得鸡肋。 一个不能随需求变化定制开发的订货系统可能无法满足企业在不同阶段的需求和业务流程。企业在运营过程中可能需要新增、修改或调整一些功…

什么开放式耳机音质好?值得推荐的开放式耳机分享

与封闭式耳机相比,开放式耳机具有更为自然、真实的音质,能够更好地还原音乐现场的声音环境。以下是几款值得推荐的开放式耳机,都来看看有哪些吧。 推荐一:NANK南卡00压开放式耳机 点评:体验最好的开放式耳机没有之一…

K8S系列四:服务管理

写在前面 本文是K8S系列第四篇,主要面向对k8s新手同学。阅读本文需要读者对k8s的基本概念,比如Pod、Deployment、Service、Namespace等基础概念有所了解,尚且不了解的同学推荐先阅读本系列的第一篇文章《K8S系列一:概念入门》[1]…

VKL060低功耗设计段码LCD液晶驱动芯片工作电流?小于10μA资料分享

型号:VKL060 品牌:永嘉微电/VINKA 封装:SSOP24 年份:新年份 原厂工程服务,技术支持 VKL060概述: VKL060是字段式液晶显示驱动芯片。M18202 功能特点: ★ 液晶驱动输出: Common 输出4线&#xff…

美芯三巨头游说失败,开始分头行动,外媒:美芯唱反调了

早前美国芯片三巨头高通、Intel、NVIDIA奔赴华盛顿与拜登会面,希望放宽对华芯片供应限制,然而并未取得成果,如此情况下,美芯巨头无法承受失去中国市场的后果,开始纷纷采取行动。 一、美芯为中国市场定制芯片 美国芯片企…

【excel技巧】Excel表格如何取消隐藏行?

Excel工作表中的行列隐藏了数据,如何取消隐藏行列呢?今天分享几个方法给大家 方法一: 选中隐藏的区域,点击右键,选择【取消隐藏】就可以了 方法二: 如果工作表中有多个地方有隐藏的话,还是建…

重磅更新,HertzBeat 集群版发布,易用友好的开源实时监控系统!

什么是 HertzBeat? HertzBeat 赫兹跳动 是一个拥有强大自定义监控能力,高性能集群,无需 Agent 的开源实时监控告警系统。 特点 集 监控告警通知 为一体,支持对应用服务,数据库,操作系统,中间件&#xf…

深入源码分析kubernetes informer机制(零)简单了解informer

[阅读指南] 基于kubernetes 1.27 stage版本 为了方便阅读,后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 关于client-goInformer是什么为什么需要informerInformer工作流程后续分析计划 关于client-go client-go是kubernetes节点与服务端进行资源…

Python-OpenCV中的图像处理-视频分析

Python-OpenCV中的图像处理-视频分析 视频分析Meanshift算法Camshift算法光流 视频分析 学习使用 Meanshift 和 Camshift 算法在视频中找到并跟踪目标对象: Meanshift算法 Meanshift 算法的基本原理是和很简单的。假设我们有一堆点(比如直方 图反向投影得到的点&…

如何在 3Ds Max 中准确地将参考图像调整为正确的尺寸?

您是否想知道如何在 3Ds Max 中轻松直观地调整参考图像的大小,而无需借助第三方解决方案、插件或脚本? 我问自己这个问题,并高兴地发现了FFD Box 2x2x2,我无法停止钦佩这个修改器的多功能性。 在本文中,我想与您分享一…

免费网站客服机器人来了(基于有限状态机),快来体验下

免费网站客服机器人来了,快来体验下 51jiqiren.cn 五分钟就可以完成一个简单的机器人. 懂json的同学可以自定义状态和状态跳转,完成复杂的业务流程. 更多功能还在开发中. 网站右下角点"联系客服"截图: 弹出来了: 后端管理界面: 有限状态机界面: 数据界面: 在网站…