LB Load Balancing:解决方案
硬件:
F5 BIG-IP
思杰 Citrix Netscaler
A10 A10
Array
Redware
软件:lvs
linux Virtual Server 作者章文嵩博士
ipvs相当于netfilter,工作在内核中,将用户转发
框架,需要依赖以规则完成转发
ipvs集群服务
定义一个或多个后端的服务器
ipvsadm
LVS:四层交换、四层路由(据说并发400w,F5 600w)
VIP:
keepalived
CIP client IP
Director:负载均衡器
real server
DIP:跟real server交互
RIP
CIP<-->VIP--DIP<-->RIP
LVS类型:
NAT:-->(DNAT)
DR
TUN
FULLNAT
LVS的工作原理
LVS NAT的模型
LVS NAT的特性
1.RS的应该使用私有地址
2.RS的网关必须指向DIP
3.RIP和DIP必须在同一网段内
4.请求和响应的报文都得经过Director,在高负载场景中,Director很可能成为性能瓶颈
5.支持端口映射
6.RS可以使用任意支持集群服务的OS
LVS DR类型
1.让前段路由将请求发往VIP时,只能是Dirctor上的VIP
解决方案
1.静态地址绑定
未必有路由器的配置权限
Director调用时静态地址绑定将难以使用
2.arptables
3.修改linux内核参数,将RS上的VIP配置在lo接口的别名上,限制linux仅对对应接口的ARP请求做相应
LVS DR类型的特性
1.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置、监控等
2.RS的网关一定不能指向DIP
3.RS跟Dirctory要在同一物理网络内(不能有路由器分隔)
4.请求报文经过Director,但响应报文一定不经过Director
5.不支持端口映射
6.RS可以使用大多数的操作系统
LVS TUN类型:IP隧道
1.RIP,DIP,VIP都得是公网地址
2.RS的网关不会指向也不可能指向DIP
3.请求报文经过Director,但响应报文一定不经过Director
4.不支持端口映射
5.RS的OS必须得支持隧道功能
总结:最常用的还是LVS的DR模式,在线上已经部署过很多次了