LVS
1、LVS-NAT, DNAT(多目标)
2、LVS-DR(Direct Routing)
返回报文不经过Direct
real server 不能跨越路由
调度算法:Scheduling
静态方法:仅根据算法本身调度,不考虑realserver承载更多的请求
rr:轮循
wrr:分配权重进行轮循分配
sh:原地址hash, 反均衡(也可以使用cookie调度,但是需要基于7层hash,lvs不能实现)
dh:目标地址hash,
动态方法:根据算法及realserver上当前负载状况
- 活动链接,正传输数据。
- 非活动链接,数据传输完毕,但是未断开的。
活动链接与非活动链接的资源比例:
思考一个情况,如果长连接的请求,权重为3的只推出了1个请求,权重为1的推出了100个请求,此时基于轮询的算法,心情求还会按照设定的权重分配给权重为3的多一些,所以有了动态方法
lc:最少链接,后台的realserver那个链接的少,就分发那个。
负载 = 活动连接数*256 + 非活动链接数,结果中小者胜出。但是不考虑权重,开始就会轮询的发送。当所有的realserver都有链接以后开始计算负载
wlc:给予权重的最少链接
负载 = ( 活动链接数*256 + 非活动连接数 )/权重 , 结果中小者胜出。
sed:(改进版wlc) 最少期望延迟shortest expect delay :谁延迟最短,
负载 = (活动链接数+1)*256 /权重
例子: 权重 300 20 1
(0+1*256)/300 = 0.85 . 这里有限分配
(0+1*256)/20 = 12.8
(0+1*256)/1 = 256
nq:基于sed改进,上面的算法得出的计算算法小肯定是不会给别人调度的。就算性能再差,也可以接受一些请求,不想让他们限制了。
刚刚开局的时候上来先基于权重轮流一下,然后再按照sed算法继续分配
lblc:基于本地最少链接。
后端服务器是缓存服务器,将同一个请求都定向至同一个缓存服务器。
dh+lc
lblcr:复制的基于本地的最少链接
后端服务器是缓存服务器,将同一个请求都定向至同一个缓存服务器。
3、LVS-TUN (IPIP)
基于隧道,实现跨路由
4.LVS-FULLNAT
session持久机制
1、session绑定,时钟将同一个请求者的链接定向至同一个RS(第一次请求时仍有调度算法算则)
2、session复制,基于单播,多播广播复制session信息,(量大管理起来不便)
3、session共享,利用单独部署的服务器来统一管理session
LVS的更多相关文章
- 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡
一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...
- [原]一个针对LVS的压力测试报告
LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...
- 负载均衡之LVS集群
h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...
- Keepalived+LVS+nginx双机热备
Keepalived简介 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生. Keepalived采 ...
- 基于keepalived双主模型的高可用LVS
背景知识: keepalived:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除, ...
- LVS原理详解
一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算 ...
- 配置LVS + Keepalived高可用负载均衡集群之图文教程
负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性. 重点:每个节点时间都同步哈! C++代码 [r ...
- lvs+keepalived
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
- CentOS7 编译安装LVS 互为主备 (实测 笔记 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) LVS服务器(两台): 系统:Centos7.0 64位(LVS+keepalived) LvsMaster:1 ...
- LVS DR模式 RealServer 为 Windows 2008 R2配置
有3篇文档详细介绍 http://kb.linuxvirtualserver.org/wiki/Windows_Servers_in_LVS/DR_and_LVS/TUN_Clusters http: ...
随机推荐
- js 四舍五入
举例excel: ROUND 会四舍五入的:ROUNDDOWN 取小数点后两位数据,不管进位问题:ROUNDUP 取小数点后两位数据,只要有第三位小数都会进位的.关键看你取数的要求 在js如果要求 ...
- iptables参数详解
iptables参数详解 搬运工:尹正杰 注:此片文章来源于linux社区. Iptalbes 是用来设置.维护和检查Linux内核的IP包过滤规则的. 可以定义不同的表,每个表都包含几个内部的链,也 ...
- linux------------Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
今天突然遇到这个么一个奇葩的问题,直接说问题的原因:原因是我们创建了一个计划任务,这个计划任务是一分钟执行一次,是iptables封ip的一个sh脚本.由于攻击我们的ip太多,已经达到了几千个,这个脚 ...
- [总结] JDBC数据库操作
1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ...
- Dev统计选中行、如需其他数据源可留言
Clipboard.Clear(); Dictionary<string, decimal> dtary = new Dictionary<string, decimal>() ...
- android sdk manager国内无法更新的解决办法
- Nodejs express 文件上传
文件上传 以下我们创建一个用于上传文件的表单,使用 POST 方法,表单 enctype 属性设置为 multipart/form-data. index.htm 文件代码修改如下: <html ...
- assets 加载资源文件
引用:http://abc20899.iteye.com/blog/1096620 1.获取资源的输入流 资源文件 sample.txt 位于 $PROJECT_HOME/assets/ 目录下,可以 ...
- 【笔记】js Function类型 内部方法callee
运用function实现阶乘 以往的做法是如下的 function factorial(num){ if(num <= 1){ return 1; }else{ return num * fac ...
- vim编辑指令(转)
跳跃指令 类似于游览器中的<前进><后退>按钮 CTRL-] -> 跟着link/tag转入 (follow link/tag) CTRL-o -> 回到上一次 ...