lvs十种调度策略+三种模式
LVS负载均衡
负载均衡技术(模式):
1、lvs-DR(direct routing)直接路由模式:客户进来的请求先经过调度器,然后再丢给服务器,最后由服务器直接发送请求给客户端(不需要再次经过调度器,这个可以跟很多服务器,因为它回应请求不需要经过调度器)。一般是在公司,就是同一网络里用。 性能好,安全性差。但这个用的最多。
2、LVS-NAT(Network address translation): 客户进来的请求先经过调度器,然后再丢给服务器,接着服务器再把请求丢给调度器,从而最后是由调度器来回应给客户端。(这样的话,调度器比较忙,所以调度器后面不能跟太多服务器,3-5台即可,这个ddos攻击的时候相对来说更安全一些,因为服务器没有直接暴露在外面,是隐藏在调度器后面,相对性能会差一些)
3、LVS-TUN(IP tunneling):隧道模式 : 起到备份或是cdn加速的功能。备份:例如有3台服务器,其中一台坏掉了,那么请求就会分给其他两台服务器。cdn加速:北京的请求就分给北京的服务器,上海的请求就分给上海的服务器,武汉的就分给武汉的服务器,这样来平均负载。用的最少
lvs的IP地址类型
调度算法
lvs分为静态(四种)与动态(六种)
轮循调度(rr)
:将外部请求按顺序轮流分配到集群中的真实服务器上,它均衡的对待每一台服务器,而不管服务器上实际的连接数和负载数。
优点:速度快,将外部请求按顺序轮流分配到集群中的真实服务器上。
缺点:不管服务器上实际的连接数和负载数。权重无效,因为不管怎么设置,它总是均衡的将外部请求按顺序轮流分配到集群中的真实服务器上。
加权轮循(wrr):
数字越大,权重越高:调度算法根据真实服务器的不同处理能力来调度访问请求,这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的附载情况,并动态的调整其权重值。
优点:可根据服务器的性能来设置权重,从而达到负载。
缺点:不管服务器忙与不忙,都会按照你之前的权重来进行负载访问。
根据权重来判断。
目标地址散列(DH)
:根据请表求的目标ip地址,作为散列键(hash key) 从静态分配的散列表找出对应的服务器,若服务器是可用的且未超载,将请求发送到服务器,否则返回空。(相当于给wrr策略做了一次扩展)
优点:1、首先根据权重来访问哪一个服务器,然后第一个请求访问服务器后,接着只要是这个ip进行的访问,都会在这个服务器上,有缓存来进行加速访问。2、原客户端ip进行访问的同时,不会去跑到第二个服务器上。
缺点:不管你忙与不忙,都会按照你之前的权重来进行访问。后端所跟的服务器不会太多,否则director server的压力就会变得过大。
源地址散列(SH)
:根据请表求的源ip地址,作为散列键(hash key) 从静态分配的散列表找出对应的服务器,若服务器是可用的且未超载,将请求发送到服务器,否则返回空。(从哪个接口出去,再从哪个接口回来,相当于给rr做了次扩展)
Iptables里有个状态跟踪,必须从哪个网关(接口)出去,再从哪个网关(接口)回来,否则这个状态就会没有意义。这个也是一样,必须是从哪个接口出去,再从哪个接口回来。(目的保证)
静态的有缓存,而动态的没有,静态的比较笨一些,动态的智能一些。
1、最少链接:(LC):
根据活动连接数与非活动链接数的总和进行判断。
活动连接:请求服务访问,例如提交数据或是在往数据库里写东西的时候。
非活动连接:例如:已经建立起3次握手了。在访问网页的同时,停留在网页中,不提交数据或是不写数据的时候。
连接数=活动连接数+非活动连接数 来判断的
开销:最后计算请求书哪个最小就丢给谁
Server1:共有1000个请求(例如),900个变成非活动连接,100个活动连接,就是用100*256+900(非活动连接)
Server2:共有1000个请求,结果全部成为非活动连接(都走了)0*256+1000(非活动连接)
根据以上算法,来判断哪个请求较少,谁小就丢给谁。
2、加权最少链接:(WLC):
不设置调度算法,默认是wlc,(开销除以权重(100*256+900)/3),
还是拿上面的那个例子说
Server1:权重是3 (100*256+900)/3
Server2:权重是1 (0*256+1000)/1
谁少就丢给谁。
3、基于局部性的最少链接(LBLC):
在DH的基础上做微调,简单的说就是把DH做成动态调度算法。
DH:访问一个请求的时候,会一直在第一次访问时的那台服务器上。
而LBLC就是尽量让它在第一次访问的服务器上,但如果发现访问的原来第一次服务器上的数据过大时,它便会去其它的服务器上。
算发还是用的WLC的算法。
4、带复制的基于局部性最少链接(LBLCR):
简单说就是又在LBLC的基础上做的微调,把自己已有的缓存复制给别人(缓存共享)
5、最短的期望的延迟(SED):在WLC的基础之上做的微调。
不考虑非活动连接数,只考虑活动连接数。(这种指的是特殊情况下做的微调)
例如:活动连接请求都为0
Server1:权重是1 (0+1)*256/1=256
Server2:权重是10 (0+1)*256/10=25.6
当数据少的时候使用这个
活动连接+1(加1目的是为了让它有误差,当连接数少的时候会有突出)*256除以权重
这样的目录就是为了当一台服务器的权重过高时,为了减少权重高一些的服务器的压力,让权重低的服务器帮忙也分担一些出来。
6、最少队列调度(NQ):只要是服务器端活动链接数为零,就丢给活动链接数为零的那台服务器。(这种是特殊情况下做的微调)
本文转自silence博客51CTO博客,原文链接http://blog.51cto.com/silencezone/1688672如需转载请自行联系原作者
a120518129
lvs十种调度策略+三种模式相关推荐
- LVS三种模式的区别及负载均衡算法
转载自 LVS三种模式的区别及负载均衡算法 LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群系统,由章文嵩博士在1998年5月成立,在li ...
- 应用负载均衡之LVS(一):基本概念和三种模式
本文转载地址:https://www.cnblogs.com/f-ck-need-u/p/8451982.html 本文目录: 1. LVS简介 2. LVS-ipvs三种模式的工作原理 2.1 VS ...
- LVS负载均衡(LVS简介、三种工作模式、持久化连接)
一.LVS简介及原理 1.LVS概述 LVS(Linux Virtual Server)即Linux虚拟服务器,在Linux平台运行.LVS被集成到Linux内核模块中被分为2个部分,用户态(ipvs ...
- Oracle 11g dataguard三种模式以及实时查询(Real-time query)功能设置
之前我们讨论过<Linux Oracle 11g dataguard物理standby 配置过程>, 但是在实际过程中会遇到不同的问题,首先我们讨论下ORACLE DATAGUARD的三种 ...
- SAP EWM 与 AGV 机器人对接的三种模式
SAP EWM 与 AGV 机器人对接的三种模式 https://mp.weixin.qq.com/s/xGfUMSBTEMYKce5oXcWDqA 导读 本文转载自:弘毅供应链,跟随供应链专家 ...
- Tomcat三种模式及配置APR模式
为什么80%的码农都做不了架构师?>>> Tomcat三种模式 Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如 ...
- 宠物乘机的三种模式【转】
几天前微博用户@HUST_维维豆奶在网上控诉,他搭乘东航MU2544次航班(上海浦东-武汉)时,托运的金毛犬在天河机场被打成重伤(附1).机场方面给出了官方回应(附2与附3),并且已向事主支付了五万元 ...
- Vim编辑器的基本使用和三种模式
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 目前使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字 ...
- DELL服务器安装过程中的三种模式AHCI, ATA, RAID
BIOS 里的 SATA setting 有 AHCI mode, ATA mode, RAID mode三种模式. AHCI vs ATA ATA(AT Attachment) 是一个很久远的标准, ...
最新文章
- ML之xgboost:绘制xgboost的二叉树graphviz的两种方法代码实现
- [ZOJ 4014] Pretty Matrix
- Workflow Administration
- 数据结构与算法-- 二叉树后续遍历序列校验
- tableau度量值计算_Tableau图表界面组成介绍
- java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...
- 后端http缓存策略
- 钉钉自带浏览器版本过低,导致Object.assign不兼容...
- 金税盘时钟异常的处理方法及处理流程
- np.array_split()np.split()
- android studio多媒体播放器,Android支持全屏、小窗口的视频播放器
- 地址转换成百度经纬度,数据太多!不愿意花钱?
- call指令和ret指令【笔记+详解】
- unicode 生僻字_[微软拼音小技巧] 如何用Unicode输入生僻字
- You can't specify target table 'Person' for update in FROM clause
- 神经网络加深和加宽的影响
- 【毕业设计】人脸识别门禁系统
- java矢量图_java – 矢量图形在iText PDF
- day14_雷神_前端02
- 龙梦3A4000代码获Kernel 5.5合并