lvs

简介:

cluster

系统扩展的方式;

scale up:向上扩展

scale out;向外扩展

集群类型;

LB:负载均衡集群。load banlancing

HA:高可用集群。high availability

HP:高性能集群。high performancing

系统运维:可用--> 标准化-->自动化

构建高可扩展性系统的重要原则;在系统内部尽量避免串行化;


LB集群的实现;

硬件:

F5 BIG-IP

Citrix NetScaler

A10

Array

Red

Redware

软件:

lvs

haproxy

nginx

ats(apach traffic server)

perlbal

传输层:LVS,HAPROXY(MODE TCP)

应用层:haproxy,nginx,ats,perlbal

lvs:

章文嵩

lvs:linux virtual server

L4:四层交换,四层路由;

根据请求报文的目标ip和port将其转发至后端主机集群中的某一台主机(根据算法);

lvs:ipvsadm/ipvs 

ipvsadm:用户空间的命令行工具,用于管理集群服务

ipvs:工作内核中netfilter INPUT上;

grep -i -A 10  'IPVS' /boot/config-3.10.0-229.el7.x86_64 

支持TCP,UDP,AH,EST,AH_EST,SCTP等协议

lvs arch:

调度器,director,dispatcher,balancer

RS:real server

cip

vip

dip

lvs type

lvs-nat

lvs-dr(direct routing)

lvs-tun(ip tuueling)

lvs-fullnat

lvs-nat

1.RS和DIP应该使用私网地址,且RS的网关要指向DIP;

2.请求和响应报文都要经由director转发,极高负载的场景中,director会成为瓶颈;

3.支持端口映射;

4.RS可以使用任意OS

5.RS的RIP和director的DIP必须在同一个网络;

lvs-dr:direct routing

通过修改请求报文的目标MAC地址进行转发;

director:VIP,DIP

RS:RIP,VIP

1.保证前段路由器将目标IP为VIP的请求报文发送给director

解决办法;静态绑定

  arptalbes

  修改RS主机内核的参数

2.RS的RIP可以使用私有地址,也可以使用公网地址;

3.RS和director必须在同一个物理网络中

4.请求报文经由Director调度,但响应报文一定不能经由director

5.不支持端口映射

6.RS可以大多数OS

7.RS的网关不能指向DIP

lvs-tun

1.RIP,DIP,VIP全是公网地址

2.RS的网关不能指向DIP

3.请求报文必须经由director,响应的必须不经过director

4.不支持端口映射

5.RS的OS必须支持隧道功能

lvs-fullnat;

director通过同时修改请求报文的目标地址和源地址进行转发

1.VIP是公网地址:RIP和DIP是私网地址,二者无须在同一网络中;

2.RS接收到的请求报文的源地址为DIP,因此要响应给DIP

3.请求报文和响应报文都必须经由director

4.支持端口映射;

5.RS可以使用任意OS

session保持;

session绑定;

source ip hash

cookie 

session集群;rs之间复制session信息。

session服务器;单独的session服务器。

lvs scheduler:调度算法

# IPVS scheduler

#

CONFIG_IP_VS_RR=m

CONFIG_IP_VS_WRR=m

CONFIG_IP_VS_LC=m

CONFIG_IP_VS_WLC=m

CONFIG_IP_VS_LBLC=m

CONFIG_IP_VS_LBLCR=m

CONFIG_IP_VS_DH=m

CONFIG_IP_VS_SH=m

CONFIG_IP_VS_SED=m

静态方法:仅根据算法本身进行调度;

RR:round robin,轮调

WRR:weighted rr,加权轮调

SH:source hash,实现session保持的机制,来自同一个ip的请求调度到同一个RS

DH:destination hash,将对同一个目标的请求始终发往同一个RS

动态方法;根据算法及各RS的当前负载状态进行调度;

LC:least connect

overhead=active*256+inactive 

WLC:weighted LC

overhead=(active*256+inactive)/weight

SED:shortest expection delay 最短期望延迟

overhead=(active+1)*256/weight

NQ:never queue 永不排队

SED算法的改进。

LBLC:locality-Based LC ,动态的DH算法

正向代理情形下的cache server

LBLCR:locality-based least-connection with replication,带复制功能的LBLC算法;






     本文转自阿伦艾弗森 51CTO博客,原文链接:http://blog.51cto.com/perper/1972109,如需转载请自行联系原作者


相关文章
|
12天前
|
运维 算法 Linux
LVS详解(四)——LVS安装与配置命令
LVS详解(四)——LVS安装与配置命令
15 2
|
12天前
|
运维 负载均衡 应用服务中间件
LVS详解(五)——LVS NAT模式实战
LVS详解(五)——LVS NAT模式实战
17 3
|
13天前
|
存储 运维 算法
LVS详解(二)——LVS工作模式
LVS详解(二)——LVS工作模式
16 3
|
10月前
|
存储 负载均衡 算法
什么是LVS
本篇文章介绍什么是LVS,主要从介绍LVS,谈谈什么是负载均衡,LVS的组成、术语以及LVS的模式和特点,以及优缺点。
378 0
|
存储 负载均衡 算法
lvs
简介
|
负载均衡 算法 前端开发
浅谈LVS
一、集群的概念与分类 二、lvs介绍 三、lvs结构 四、LVS内核模型 五、LVS的包转发模型 1.NAT模型 2.DR模型 3.TUN模型 六、lvs调度算法 1、静态算法(4种) 2、动态算法(6种) 一、集群的概念与分类 以下内容,个人理解,可能有错误与不足,望指正。
1512 0
|
负载均衡 算法 网络协议
|
网络协议 应用服务中间件
|
网络协议 应用服务中间件 Shell

热门文章

最新文章