lvs整理
LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
4种模型概要总结:
1、NAT的特性:
1)RS应该使用私有地址;
2)RS的网关的必须指向DIP;
3)RIP和DIP必须在同一网段内;
4)请求和响应的报文都得经过Director;在高负载场景中,Director很可能成为系统性能瓶颈;
5)支持端口映射;
6)RS可以使用任意支持集群服务的OS;
## 2、DR类型的特性:
1)RS可以使用私有地址;但也可以使用公网地址,此时可以直接通过互联网连入RS以实现配置、监控等;
2)RS的网关一定不能指向DIP;
3)RS跟DR要在同一物理网络内(不能由路由器分隔);
4)请求报文经过DR,但响应报文一定不经过DR
5)不支持端口映射;
6)RS可以使用大多数的操作系统;
3、 TUN类型:IP隧道
1)RIP、DIP、VIP都得是公网地址;
2)RS的网关不会指向也不可能指向DIP;
3)请求报文经过DR,但响应报文一定不经过DR;
4)不支持端口映射;
5)RS的OS必须得支持隧道功能;
4、 FullNat:
1)DR,RS可以不在同一网络内,但它与TUN不同,所有IP报文头部信息变更都在DR上进行,所以性能方面比LVS_NAT更差一些;
2)需要注意配置路由,保证能正常通信;
常用调度算法
静态调度算法:基于算法本身
1)RR 轮询
Round Robin :新的连接请求被轮流分配至各RealServer,优点是该算法无需记录当前所有连接的状态,效率高;但缺点是在RealServer当中如果有性能不均等的情况下,性能差的主机将负载比较大。该算法容易倒致服务器之间负载不均衡;
2)WRR 加权轮询
Weighted RR :优点与RR一样,无需记录所有连接状态;通过设定一定的权重值来分配连接请求;
3)SH 源地址哈希
Source Hashing :通过一个散列函数将去往同一个目的IP的请求映射到一台服务器或链路上。
4)DH 目标地址哈希
Destination Hashing : 通过一个散列函数将来自同一个源IP的请求映射到一台服务器或链路上
动态调度算法:基于算法本身与RS本身的负载情况:
1)LC 最少连接数
Least Connection :根据当前各服务器的连接数来估计服务器的负载情况,把新的连接分配给连接数最小的服务器;负载率=active*256+inactive,值小的优先分配请求;
2)WLC 加权最少连接数
Weighted LC :与LC类似,根据当前各服务器的连接数来估计服务器的负载情况,把新的连接分配给连接数最小的服务器;负载率=(active*256+inactive)/weight,值小的优先分配请求;
3)SED 最短期望延迟
Shortest Expect Delay : 这个算法主要是优化LC的,在服务均在请求少的时候避免负载到一台服务器上做的优化;负载率=(active+1)*256/weight,值小的优先分配请求;
4)NQ 永不排队
Nerver Queue :在负载低时,请求直接分配到空闲服务器上,不会产生请求等待;当服务器都很忙时,将轮询;
5)LBLC 基于本地最少连接
Locality-Based Least Connection :根据请求的目标IP地址找出该目标IP地址最近使用的RealServer,若该Real Server是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求发送到该服务器。
6)LBLCR 带复制的基于本地最少连接
Replicated and Locality-Based Least Connection :该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。
lvs整理的更多相关文章
- LVS使用整理(1)
开始安装LVS 1)下载相关软件包 mkdir -p /home/tools/cd /home/tools/wget http://www.linuxvirtualserver.org/softwar ...
- ubuntu 12.04 下LVS的一些搭建心得和资料整理
最近项目上需要使用到IPVS进行负载均衡,针对外部传来的HTTP请求,分摊到多台服务器上进行处理,所以看了一下这方面的资料,在这里纪录一下. Lvs是基于IP层和内容分发请求的负载均衡方法(所以也可以 ...
- 整理LVS架构压力测试工作
首先,测试环境在模拟环境下进行. 测试环境:1director(apache2.2) + 1realserver(jboss4.2.3GA)+1databaseserver(oracle9i) ...
- 整理下.net分布式系统架构的思路
最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正. 首先说明的是.ne ...
- LVS工作总结之原理篇–DR模式
原文地址: http://www.chenqing.org/2012/11/%E3%80%90lvs%E3%80%91lvs%E5%B7%A5%E4%BD%9C%E6%80%BB%E7%BB%93%E ...
- Linux负载均衡软件LVS简介
Linux负载均衡软件LVS LVS集群的体系结构以及特点 1. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起 ...
- Mysql+keeplived+lvs
最近要做个高可用的mysql.用mysql主主复制方式保证两台数据库的数据一致.结合lvs和keepalived一起使用(keepalived+lvs的设置会再另外一篇文章里写). 搭好环境之后,本人 ...
- 浅谈lvs和nginx的一些优点和缺点
借鉴一些网上资料整理了简单的比较: LVS的负载能力强,因为其工作方式逻辑非常简单,仅进行请求分发,而且工作在网络的第4层,没有流量,所以其效率不需要有过多的忧虑. LVS基本能支持所有应用,因为工作 ...
- lvs学习笔记
本人身为一个网工,最近一直在工作中学习linux的相关知识.前短时间通过自查资料学习了lvs的相关内容,摘录部分整理后和大家分享,内容较多,较琐碎,望见谅!!! LVS 从Linux内核版本2.6起, ...
随机推荐
- [ Educational Codeforces Round 65 (Rated for Div. 2)][二分]
https://codeforc.es/contest/1167/problem/E E. Range Deleting time limit per test 2 seconds memory li ...
- jquery仿排列顺序,变换颜色更换class
ps:箭头是字体图标,需要的可以去阿里字体下载,也可自己替换图片 点击之后的 代码部分 <ul class="Ep_sxxz"> <span class=&quo ...
- docker学习(七)常见仓库介绍
将介绍常见的一些仓库和镜像的功能,使用方法和生成它们的 Dockerfile 等.包括 Ubuntu.CentOS.MySQL.MongoDB.Redis.Nginx.Wordpress.Node.j ...
- TCP 拥塞控制
TCP 拥塞控制 相关名词 滑动窗口 tcp通过滑动窗口进行流量控制,所谓的窗口可以理解为接收端所能提供的缓冲区大小. TCP是一个滑动窗口协议,即一个TCP连接的发送端在某个时刻能发多少数据是由滑动 ...
- MyBatis 接口注解方式代替mapper.xml
https://blog.csdn.net/m0_38068812/article/details/86566929 spring boot(8)-mybatis三种动态sql 或者 这个 1. 代 ...
- CF369E Valera and Queries kdtree
给你一堆线段,求:一个区间内包含的本质不同线段种类数(只要线段有一部分在区间中就算是包含) 考虑容斥:总线段数-被那些没有询问的区间完全覆盖的数量. 用离线+树状数组数点或者 KDtree 数点即可. ...
- hdu 6183
给出二维平面$opt1.$ 对点 $(x, y)$ 增减颜色 $c$,$opt2.$ 询问矩形 $(1, y_1), (x, y_2)$ 内出现过的颜色种数$x, y <= 1e6, c < ...
- Bzoj 2733: [HNOI2012]永无乡(线段树+启发式合并)
2733: [HNOI2012]永无乡 Time Limit: 10 Sec Memory Limit: 128 MB Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己 ...
- 「CF235E」Number Challenge「莫比乌斯反演」
一个结论:(从二维扩展来的,三维也是对的,证明可以考虑质因数分解) \[ d(ijk)=\sum_{i'|i}\sum_{j'|j}\sum_{k'|k}[\gcd(i',j')=1][\gcd(i' ...
- 学习C/C++的简单方法
如何学习C++呢.C和C++是很多专业的必修课,尤其对计算机专业来说,更是重中之重.C++语言是早期发展的高级语言,具备执行速度快,语法优美等特点.是底层高效率系统的首选开发语言.今天就和大家分享一下 ...