LVS以及keepalived

常见的硬件负载均衡器有:F5,A10,Citrix

常见的软件负载均衡器有:nginx(七层),lvs(四层),haproxy(四层七层都可以)

四层和七层有什么区别:四层设备只解析四层协议,所以对于应用层协议是什么内容不做处理,由于不解析更高层次协议,所以工作性能更好,所以例如不能根据用户的URL/URI来做负载均衡。

工作在七层的反向代理负载均衡设备,它是为某些特定协议提供的,因此他能精确解码该协议,而且还能再该协议上作出修改之后做出负载均衡,操纵能力更强。

--------------------
LVS简介:

LVS-Linux Virtual Server

它能够接受用户请求,根据用户地址提供的IP和端口号来判定是不是需要转发至后端Real server,因为它是一个四层设备,他能够解析三层和四层请求,所以能够识别用户请求的IP和端口。

LVS工作机制:

LVS工作在Input链上,当用户的请求到达本机之后,一旦发现是本机(地址加端口)的请求,立即转到Input链上,而LVS就监控在Input链上,并且在input链上设置规则,一旦发现用户请求的是一个集群服务,会强行修改报文的行程,本来过了input该去用户空间了,强行将该报文送往forward链,并通过forward送往postrouting,转发至其他主机,所以LVS不能和iptables同时使用。

防火墙是使用iptables管理工具来管理内核模块netfilter,LVS是使用ipvsadm管理工具来管理内核模块ipvs。

ipvsadm:管理集群服务的命令行工具

ipvs:内核模块

在这里插入图片描述
注意:此处不经过forward链

所以只要你在内核中编译已经支持了ipvs的功能,并且你在用户空间已经安装了ipvsadm,那么就能够实现负载均衡集群的调度器。

那怎么转发到后端服务器呢?

根据调度算法,就是挑选一个后端服务器接受一个新请求的计算机制,如果一个用户请求的是这个调度器的22端口,报文到达input链上,ipvs发现用户请求不是这个集群服务,那么这个请求就到达用户空间,所以它(ipvs)只对定义了集群服务的服务像后端转发,而非集群服务的服务不转发,一个服务的监听通常都是一个套接字,所以根据套接字来判断是不是向后转发,以及转发到什么地方去,这种设备叫四层交换或者四层路由。

一个调度器可以调度多个集群,比如两个集群使用同一个调度器,当用户请求80的时候,有一组real server,如果用户请求的是一个443端口(https)/25端口(邮件服务)的服务,就行向另外一个集群调度。

在这里插入图片描述

LVS的类型:
NAT:地址转换

前端的Director需要两个网络接口(至少),一个网络接口面向于互联网,另外一个接口以内网形式面向于各个real server,用户请求到达的时候,它是将用户请求的目标地址转换为real serv

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值