Topology算法
两种可应用Topology位置:
《1》wideIP对应多个pool
*需要定义Dest为pool或者pool Region的Topology记录
*如果不定义,F5 DNS采取Pool RR
《2》pool对应多个VS
*需要定义Dest为DC,IP,IP Subnet或以上集合构成的Region的Topology记录
*如果未定义,则Topology算法Miss
Topology记录分为三列
*LDNS,Destination,Score/Weight
*LDNS,Destination作为输入
*Score/Weight作为输出
F5 DNS匹配WideIP后,在选择pool时会将pool name分别与LDNS组合成对;
*只要给出LDNS,POOL name就可以在topolgy表中找到对应的Score/Weight值;
*然后将这个值作为对Pool name的Score评分;
最后根据Score的高低,决定选择哪个pool
F5确定pool后,在选择解析哪个VS地址作为DNS Response时,会将pool内的VS分别与LDNS组合成对:
*只要给出的LDNS,VS IP就可以在topology表中找到对应的Score/Weight值;
*然后将这个值作为对VS的Score评分
最后根据Score/Weight的高低,决定选择哪个VS,Weight值高的优先
关于topology的对象:
《1》Request source:定义LDNS的ip地址满足的条件,包括continent(大陆)、country、ISP、IP Subnet、Region(地区)、State(州)
logest match:
F5 DNS上topology默认启用logest match,以加快Topology Record的匹配速度。在longest match启用下,F5 DNS会自动对Topology Record进行排序,无法手动更改Topology条目顺序。而且一旦匹配到满足条件的记录将不再向下匹配
使用以下命令查看Topology的排序情况:tmsh list /gtm topology all
排序原则:
IP Subnet>DC>POOL>Region>ISP>State>Country>Continent>LDNS Request Source negatior>Wildcard
当logest match被取消时,F5会匹配全部的所有的满足的记录,而不是只匹配到第一个满足的就不再向下匹配,如所有满足的记录有多条,则按照Weight值高得优先被选择。
负载均衡算法--RTT
实现原理:当任意一台F5 DNS收到LDNS请求时,由于RTT需要F5 DNS发起到LDNS的动态探测,所以F5 DNS先使用Falback算法中的GA算法将序号为0的地址返回给LDNS,同时从不同链路发起探测,并将探测结果写到内存中,当同样的LDNS再次发起解析请求时,F5 DNS使用RTT算法返回一个VS地址给LDNS;
负载均衡算法--QOS
使用virtual server当前各项参数指标综合计算后通过分数来做最优选择。
参数指标包括:
*Round trip time
*Hops
*Connection rate
*Packet rate
*topology
*Link capacity
*VS capacity
*Kilobytes/Second
对于简单的配置,可以使用默认的设置,需要iquery查询big-ip vs的性能。
当前位置:网站首页>GLSB涉及负载均衡算法
GLSB涉及负载均衡算法
2020-11-09 10:49:00 【Key-Network】
版权声明
本文为[Key-Network]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/key-network/p/13947169.html
边栏推荐
- 3.你知道计算机是如何启动的吗?
- The difference between GDI and OpenGL
- 20201108编程练习——练习3
- Several common playing methods of sub database and sub table and how to solve the problem of cross database query
- python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
- Ten year itch of programmer
- LTM understanding and configuration notes
- Bifrost 之 文件队列(一)
- Adding OpenGL form to MFC dialog
- Investigation of solutions to rabbitmq cleft brain problem
猜你喜欢
When Python calls ffmpeg, 'ffmpeg' is not an internal or external command, nor a runnable program
When iperf is installed under centos7, the solution of make: * no targets specified and no makefile found. Stop
FC 游戏机的工作原理是怎样的?
Five design patterns frequently used in development
1486. Array XOR operation
【QT】子类化QThread实现多线程
C++之异常捕获和处理
商品管理系统——整合仓库服务以及获取仓库列表
Oschina plays disorderly on Monday
The difference between GDI and OpenGL
随机推荐
Natural language processing (NLP) roadmap - KDnuggets
Do you know how the computer starts?
Unemployment log, November 5
Adding OpenGL form to MFC dialog
Why choose f for the back end of dark website? - darklang
The vowels in the inverted string of leetcode
[Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解
解决python调用 ffmpeg时 ‘ffmpeg‘ 不是内部或外部命令,也不是可运行的程序
Teacher Liang's small class
FC 游戏机的工作原理是怎样的?
WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值-->解决方法。
How to do thread dump analysis in Windows Environment
Initial installation of linx7.5
卧槽,这年轻人不讲武德,应届生凭“小抄”干掉5年老鸟,成功拿到字节20Koffer
OpenGL ES 框架详细解析(八) —— OpenGL ES 设计指南
How does semaphore, a thread synchronization tool that uses an up counter, look like?
Linked blocking queue based on linked list
商品管理系统——商品新增本地保存实现部分
C++在C的基础上改进了哪些细节
自然语言处理(NLP)路线图 - kdnuggets