LVS和Nginx的HA方案对比
2021-09-30 09:01:44 0 举报
LVS 对比 Nginx
作者其他创作
大纲/内容
client
Tomcat
server1
下一跳
路由器
应用层
Keepalived+Nginx
传输控制层
三次握手
节点
物理层
CIP->VIP | RIP@MAC
VIP
网络层
接入层
链路层
RIP
交换机
端点
Keepalived:Keepalived 是运行在lvs之上,是一个用于做双机热备(HA)的软件,它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换,提高系统的可用性。keepalived通过选举(根据设置的权重)挑选出一台热备服务器做MASTER机器,MASTER机器会被分配到一个指定的虚拟ip,外部程序可通过该ip访问这台服务器,如果这台服务器出现故障(断网,重启,或者本机器上的keepalived crash等),keepalived会从其他的备份机器上重选(还是看服务器设置的权重)一台机器做MASTER并分配同样的虚拟IP,充当前一台MASTER的角色。
server2
KeepalivedBACKUP
CIP->VIP
七层反向代理
隐藏VIP对外隐藏,对内可见
优缺点:LVS + Keepalived:优点:LVS基于kenerl内核态、4层网络协议,不参与应用的三次握手和四次分手,因此速度快、抗负载能力强、配置简单,对于服务器的硬件要求除了网卡外,其他没有太多要求。缺点:LVS不可和RealServer在同一台机器上,原因:RealServer需要用到LO环回虚拟网卡隐藏VIP。Nginx + Keepalived:优点:Nginx可和应用程序在同一台机器上。可以针对 http 应用本身来做分流策略,静态分离,针对域名等,比LVS功能多。缺点:基于7层网络协议,每次连接都要和Nginx进行三次握手和四次分手,受限于IO,速度比LVS慢。
RealServer
DIP
netstat -natpVIP - CIP
KeepalivedMASTER
请求
VIP -> CIP
客户端
原理
服务端
LVS+Keepalived基于DR模式
四层负载MS级数据包转发级别不会和client握手后端服务器是镜像的
监控Nginx状态
LVS
Nginx
DR基于2层mac地址欺骗速度快成本低负载和RS要再同一局域网
lvs
Master宕机自动切换到BACKUP,毫秒级MASTER回复后自动切回
四层负载均衡
CIP
0 条评论
回复 删除
下一页