F5 LTM 知识点和实验 3-负载均衡中的负载算法

news2024/11/18 20:43:52

第三章:负载均衡中的负载算法

负载算法分为静态的和动态的。静态的连接分布模式是预先设置的,流量处理中是不会变化的,动态的连接分布模式也是预先设置的,但是连接分布会根据某些因素的改变而调整。

轮询(round robin):

将新建的链接逐一转发到每一个后端服务器上。静态的。

image-20230227225217713

比率轮询(ratio):

可以根据赋予的权重将流量分不到后端服务器上,ratio可以根据member或者node为单位进行赋予。静态的。

image-20230227225757262

最小连接数(least connnection):

将新建的链接分发到当前连接最少的后端。对于长连接场景有很好的均衡效果,随着时间推移,设备的连接数会比较均匀。

image-20230227230256050

最快(fastest):

将新连接分配给当前拥有最少未完成的第7层请求的应用节点,如果关联的vs同时不具备tcp和7层的profile,就会使用最少连接算法,进行负载。此方式对于流量分配到响应时间可能不同的设备非常有用。

image-20230227230502766

最少会话(least sessions):

将新建连接转发到持久化表中最少记录的后端服务器上,这种方式必须关联persistence的profile,且persistence的profile必须使用持久化表。

image-20230228225251902

加权最少连接数(weight least connection):

要求每个成员或节点分配一个非零连接限制,然后,请求被分配到使用其容量的最小百分比设备,其中容量是当前连接数与允许的最大连接数的比率。

image-20230228225610885

观察(observed):

此算法计算一个动态比率(ratio)值,这个值基于四层连接数,bigip系统每秒钟都会统计每个后端的连接数,并分配一个比率值,当有一个新连接,会根据分配的比率值来进行连接分配,优选比率值最大的后端。

image-20230228230244048

预测(predictive):

该算法对服务器性能随时间的推移进行排名,并优选性能有所提高的后端服务器,bigip系统根据一段时间内到每个成员的四层连接数计算动态比率值,每秒钟,bigip系统会观察到每个后端服务器的四层连接数,并与之前的连接数进行对比,以确定性能趋势,并为每一个成员分配一个比率值,如果连接数保持不变,则系统不更改比率值,如果连接数增加,则比率值减少,反之增加,新建连接会根据比率值进行分配,优选比率值最大的后端服务器。

image-20230228233224161

动态比率(dynamic ratio):

此算法专门用于RealNetwork RealSystem服务器平台,配置了windows management instrumentation的windows平台或者配置了snmp代理的服务器。

优先组(priority group ):

优先组的概念允许你在单个池子内定于主要成员和备用成员。你需要对组进行赋值,同时要配置这个组最小成员数,当小于可用成员小于这个数的时候,会启用备用组。

举个例子:一个pool有6个member。3个在组10,3个在组5,同时配置最少可用成员为2,当接收到流量的时候,只有组10的3个成员会收到流量,组5的三个成员不会被分配流量。

image-20230301224649526

如果此时组10内的两个成员健康检测失败或者手工配置为不可用,bigip系统将会激活下一个低优先级的组,这里就是组5的三个成员,此时流量将会分配到4个后端服务器上。

image-20230301225307213

一般优先组使用有两种场景,第一种,在主用出现大量故障的情况时,需要启用道歉服务器。第二种,如果后端服务器被多种业务使用,比如同一个服务器同时具备web和ftp程序,正常时候服务器承载ftp,如果优先组的web服务器大量故障,承载了ftp的服务器被激活,也可以充当web服务器。

优先组取值范围:0-4294967295。

备用主机( fallback host):

如果池中的成员都不能正常提供服务了,vs将会直接发送一个http回应报文到客户端,将他们重定向到其他的主机上,比如道歉服务器,备用主机的能力是在http profile中配置,且只能应用在http场景里。

image-20230304211228044

实验:

配置优先组:

1、清除http_pool的统计值

image-20230615181823594

2、给http_pool配置少于2个成员时候,激活优先组

  • 路径:Local Traffic ›› Pools : Pool List ›› http_pool,member tab ›› Priority Group Activation
  • tmsh:
modify ltm pool http_pool min-active-members 2

image-20230615182124949

3、更改http_pool的所属组

memebrratiopriority group
172.16.20.1:8010
172.16.20.2:8024
172.16.20.3:8034
  • 路径:Local Traffic ›› Pools : Pool List ›› http_pool ›› Current Members
  • tmsh:
modify ltm pool http_pool members modify { 172.16.20.2:http { priority-group 4 } }
modify ltm pool http_pool members modify { 172.16.20.3:http { priority-group 4 } }

image-20230615182524904

4、在浏览器中输入10.10.10.100,刷新10次,看统计信息。

image-20230615183037571

5、清除http_pool的统计值,并把172.16.20.2:80这个rs配置为disable,在浏览器中输入10.10.10.100,刷新10次,看统计信息。

image-20230615183252846

6、将172.16.20.3:80这个rs配置为disable,确保流量完全打到172.16.20.1这台机器上,并给http_vs添加基于source_addr的持久化配置。在浏览器中输入10.10.10.100并刷新10次。此时在将172.16.20.2和3配置成enable,在浏览器中请求10.10.10.100,看数据流达到那台rs上。

image-20230615183848396

image-20230615183823285

7、删除http_vs的持久化配置

实验预期:

将优先级组激活设置为少于2个成员并启用所有池成员,172.16.20.1:80应该没有收到流量。流量以2:3的比例分配给成员172.16.20.2和172.16.20.3。
如果将优先级组激活设置为少于2个成员,并且禁用池成员172.16.20.2:80,则激活下一个较低优先级组(0)。然后将流量按1:3的比例分配给成员172.16.20.1和172.16.20.3。
当向http_vs添加源地址关联持久性配置文件,并强制连接进行负载平衡并持久化到最低优先级组(172.16.20.1:80)中的池成员时,即使在重新启用其他两个成员并且池中再次有两个成员可用之后,仍然持久化到172.16.20.1:80,并且将继续这样转发,直到持久性记录过期。

配置比率负载均衡:

将负载均衡算法从Ratio(member)调整成为Ratio(node),调整node节点172.16.20.3的权重为5.

image-20230615185753147

2、在网页中请求10.10.10.100,刷新10次,查看http_pool的统计值,

实验预期:

由于优先级组仍然在http_pool上配置,因此只需激活两个池成员即可满足最小值。成员172.16.20.2:80和172.16.20.3:80在最高优先级组中,并且是BIG-IP系统负载平衡连接的唯一成员。但是,即使池成员172.16.20.2:80的比率为2,池成员172.16.20.3:80的比率为3,BIG-IP系统也会忽略这些比率,而使用关联节点上配置的比率。节点172.16.20.3的比值为5,节点172.16.20.2的比值为1。因此,地址172.16.20.3:80的连接数大约是地址172.16.20.2:80的连接数的5倍.

测试连接限制对优先组激活的影响

1、清除http_pool的统计值,调整172.16.20.3:80的connection limit值为3.

image-20230615195928442

2、在浏览器中请求10.10.10.100多次。

3、查看统计值。

4、调整http_pool的算法为轮询算法,并关闭优先组。

5、设置172.16.20.3:80的connection limit值为0

6、调整http_pool的成员,优先组的数值为0,ratio均为1.

实验预期:

在对池成员172.16.20.3:80设置连接限制之前,流量只在优先级组4中的两个成员172.16.20.2:80和172.16.20.3:80之间进行负载分担。到池成员172.16.20.3:80的最大并发连接数远远超过3。
在将池成员172.16.20.3:80的连接限制设置为3后,流量在所有池成员之间进行负载均衡,因为该池成员将周期性地达到其最大连接数,从而触发激活优先级组0,其中172.16.20.1:80是其成员。激活后,BIG-IP系统在所有三个池成员之间负载均衡流量,直到172.16.20.3:80上的连接数低于3。当查看http_pool的统计信息时,到172.16.20.3:80的最大并发连接数应该是3。到其他池成员的最大并发连接数将可能比3大。

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

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

相关文章

基于python和pygame实现的植物大战僵尸

游戏的实现流程和思路: 游戏资源准备: 加载所有游戏中需要用到的图像资源,如植物、僵尸、子弹、背景等,并将它们保存在GFX字典中。 游戏状态管理: 定义了一个抽象基类State,表示游戏中的不同状态&#xff0…

Jenkins+Gitlab+Maven集成CI/CD

MavenGitlab集成 配置好下列环境 # Java环境 JAVA_HOME /usr/lib/jvm/java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64# Maven环境 MAVEN_HOME /usr/local/maven# Maven环境变量 PATHEXTRA $MAVEN_HOME/bin1. 配置settings.xml路径 2. 安装maven插件 创建项目 配置gitlab地址和指…

【强化学习】Q-learning训练AI走迷宫

0. 简单总结 Q-learning? 最简单的强化学习算法!不需要深度学习网络的算法!带有概率性的穷举特性!(甚至还有一点点动态规划的感觉) 1. Q-learning介绍 Q-learning是一种基于强化学习的算法,…

小程序轮播图的两种后台方式(JSP)--【浅入深出系列009】

微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰ 不会导入/打开小程序的看这里:参考 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 文章目录 本系列校训学习资源的选择啥是轮播图轮播…

Retrospectives on the Embodied AI Workshop(嵌入式人工智能研讨会回顾) 论文阅读

论文信息 题目:Retrospectives on the Embodied AI Workshop 作者:Matt Deitke, Dhruv Batra, Yonatan Bisk 来源:arXiv 论文地址:https://arxiv.org/pdf/2210.06849 Abstract 我们的分析重点关注 CVPR Embodied AI Workshop 上…

一个开源的文件存储软件Filehub,不限速防和谐

FileHub介绍 一个基于Github开发的文件存储软件,美其名曰:FileHub,可存万物,而且绝不和谐任何文件。类似于百度云盘的功能,但是功能上肯定达不到百度云盘的效果,但是基本功能还是有的:例如登录注…

如何实现高效的动态鉴权

一、概述 Spring Security 是 Spring 框架内高度可定制化的安全框架,也是 Spring 应用的标准安全框架,提供了包括认证和鉴权在内的两大部分。其高度集成于 Spring 框架,无需引入第三方扩展模块,可以避 免大量的数据接口适配问题…

如何使用Git上传代码到GitHub简单教程

学习笔记 1:Github创建自己的一个repositories 2:随便给仓库取个名字 3:接下来,打开git 4:通过 cd 你的本地文件路径 ,进入到该路径下 5:初始化项目,在目录下面运行完该代码后会有…

Linux6.16 Docker consul的容器服务更新与发现

文章目录 计算机系统5G云计算第四章 LINUX Docker consul的容器服务更新与发现一、consul 概述1.什么是服务注册与发现2.什么是consul 二、consul 部署1.consul服务器2.registrator服务器3.consul-template4.consul 多节点 计算机系统 5G云计算 第四章 LINUX Docker consul的…

高压放大器在超声加工中的应用

超声加工是一种非常重要的现代加工技术,广泛应用于材料加工、精密制造等领域。在该技术中,高压放大器扮演着至关重要的角色,可以为超声加工提供必要的信号放大和控制功能。 超声加工的原理是通过高频振动产生机械能,并将其传递到被…

编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)

系列文章目录 编程小白的自学笔记十一(python爬虫入门三Selenium的使用实例详解) 编程小白的自学笔记十(python爬虫入门二实例代码详解) 编程小白的自学笔记九(python爬虫入门代码详解) 目录 系列文章…

Jmeter性能测试配置

Jmeter检查点/断言 在上一章节中,我们通过调试脚本,通过人工验证脚本可以完成业务功能, 但在性能测试中,我们希望能通过自动验证脚本是否完成业务功能,在Jmeter 中我们可以通过检查点,也就是断言来实现自动…

19.2:纸牌问题

给定一个整型数组arr,代表数值不同的纸牌排成一条线 玩家A和玩家B依次拿走每张纸牌 规定玩家A先拿,玩家B后拿 但是每个玩家每次只能拿走最左或最右的纸牌 玩家A和玩家B都绝顶聪明 请返回最后获胜者的分数 方法一:暴力解法 自然智慧。 pack…

【NLP入门教程】二十三、循环神经网络(RNN)| 小白专场

本教程旨在为初学者提供一份全面而系统的NLP入门指南,探索NLP的核心概念、方法和技术。无论你是计算机科学的新手,还是对自然语言处理领域感兴趣的研究人员,本教程都将为你提供所需的基础知识和实用技能。 专栏地址:&#x1f4d5…

【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统

p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统 p40对象引用、变量有效性p41实现键盘控制物体自转创建bool值控制旋转实现通过键盘控制自转 p42p43简单点名系统Get All Actors Of Class(获得场景中所有该类的actor演员)getFor Each L…

TEE GP(Global Platform)安全认证产品

TEE之GP(Global Platform)认证汇总 一、安全认证产品介绍 选择SECURITY和TEE SECURITY,然后SEARCH,可以看到TEE对应的安全认证产品。 二、HUAWEI ITRUSTEE V3.0 ON KIRIN 980 三、SAMSUNG TEEGRIS V4.1 参考: GlobalPlatform Certification…

【linux】暗夜精灵9自动升级BIOS后,无法进入双系统

1、问题描述 暗夜精灵9自动升级BIOS后,无法进入双系统,甚至没有“多重引导菜单” 2、解决方法 1)进入BIOS 惠普暗夜精灵9进入BIOS的按键是F10 2)设置启动项 需要设置三处 功能键延时:5秒 安全启动模式:关闭 UEFI模式下的开机顺序:ubuntu3)设置显卡切换 如果NVIDIA…

TCL(Tool Command Language)学习(三)-----字符串操作

一、比较 : string compare 格式 : string compare ?-nocase? ?-length int? string1 string2 把字符串 string1 和字符串 string2 进行比较 ,返回值为 -1、0或 1 ,分别对应 string1 小于、等于或大于string2。如果有 -len…

全球百年品牌,最高已改变25次

摘要:今天,我们看到的那些持久的公司并不是真正持续了100年的公司。在100年的时间里,他们改变了25次、5次或4次,如果不改变,他们就无法生存。 近期市场调研中,许战海咨询发现国内市场已经进入无限内卷的竞争阶段。如何在内卷的竞争中保持可持…

Android OpenGL ES Camera2 实现实时抠图效果

前面文章人像抠图 + OpenGL ES 还能这样玩?没想到吧,我们介绍了利用人像抠图算法生成的 mask 图,然后结合 OpenGL 可以产生一些有趣的效果。 抠图技术应用很广泛,比如很多手机的相机自带“人像留色”滤镜:人体区域保留彩色,人体区域之外灰度化。所以人像留色的关键技术在…