Tomcat/Ngnix都是网络协议中的应用层

问题:Tomcat为什么慢
1.tomcat处理网络协议中的应用层,传输层会经历三次握手,慢
2.tomcat是java语言开发的,跑在JVM上面;CPU调用从内核,到虚拟机,慢

路由器:只有三层,网络层、链路层、物理层

四层负载均衡:传输、网络。链路、物理;其中传输层直接透传,不做三次握手

LVS,hold住流量;nginx,hold住握手
LVS是四层的;nginx是七层的

nginx,会跟请求方握手,拆开URL,然后根据URL请求到不同的tomcat;4层的负载均衡,不会看URL,只会看IP

NAT 路由器,路由器上面有两个地址,一个公网地址,一个是内网地址

NAT地址转换
实例:内网IP 192.168.1.8 访问百度

1.192.168.1.8通过路由器,先做地址转换 替换成6.6.6.6这个外网地址,
即 192.168.1.8:12121转换成 6.6.6.6:12121
2. 每次访问在用一个端口后,替换map key 123,value 192.168.1.8.12121
3. 替换端口,6.6.6.6.123

NET模式

NET模式是基于三层的,修改IP地址

Net模式弊端: 非对称,上行和下行都要经过负责均衡器;带宽成为瓶颈;消耗算力

DR模式

DR:直接模式
基于二层的,修改mac地址
Ip地址用于端到端;mac地址是节点间用的,下一跳,只能是一跳的距离

client->负载均衡器(修改mac地址)->server
因为修改mac地址,所以负载均衡服务器和server在同一个局域网

TUN模型

解决DR模型只能在一个局域网的问题,使用隧道技术,类似VPN

如下图: 在负载均衡层到实际server,对数据包进行包装

搭建LVS

LVS:

node01:
ifconfig eth0:8 192.168.150.100/24
node02~node03:
1)修改内核:
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
2)设置隐藏的vip:
ifconfig lo:3 192.168.150.100 netmask 255.255.255.255

RS中的服务:
node02~node03:
yum install httpd -y
service httpd start
vi /var/www/html/index.html
from 192.168.150.1x

LVS服务配置
node01:
yum install ipvsadm
ipvsadm -A -t 192.168.150.100:80 -s rr
ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.12 -g -w 1
ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.13 -g -w 1
ipvsadm -ln

验证:
浏览器访问 192.168.150.100
node01:
netstat -natp 结论看不到socket连接
node02~node03:
netstat -natp 结论看到很多的socket连接
node01:
ipvsadm -lnc 查看偷窥记录本
TCP 00:57 FIN_WAIT 192.168.150.1:51587 192.168.150.100:80 192.168.150.12:80
FIN_WAIT: 连接过,偷窥了所有的包
SYN_RECV: 基本上lvs都记录了,证明lvs没事,一定是后边网络层出问题

问题: 如何判断一个网站挂了?
访问一下->底层:验证的是应用层的http协议->发请求,判断返回 200 ok
(网站处于应用层,ping只能测试网络层)

keepalived:应用程序,代替人自动运维,解决单点故障,实现HA
1.监控自己服务
2.Master通告自己还活着,Backup监听Master状态,一堆Backup推举出一个新的Master
3.配置VIP,添加ipvs,keepalived是有配置文件的
4.对后端server做监控检查

keepalived是一个通用的工具,主要作为HA实现
nginx,可以作为公司的负载均衡来用,nginx成为了单点故障,也可以用keepalived来解决

man 5 keeplived.conf //查看配置文件的帮助文件

Keepalived搭建

keepalived实验:
主机: node01~node04

node01:
ipvsadm -C
ifconfig eth0:8 down


node01,node04:
yum install keepalived ipvsadm -y
配置:
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vi keepalived.conf
node01:
vrrp:虚拟路由冗余协议!
vrrp_instance VI_1 {
state MASTER // node04 BACKUP
interface eth0
virtual_router_id 51
priority 100 // node04 50 ,用于定义主备的权重
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.150.100/24 dev eth0 label eth0:3
}
}
virtual_server 192.168.150.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR //几种模式
nat_mask 255.255.255.0
persistence_timeout 50 //在50秒内,相同的客户端都在转发到同一个realserver
protocol TCP

         real_server 192.168.150.12 80 {weight 1HTTP_GET {url {path /status_code 200   //验证realserver是否可用}connect_timeout 3nb_get_retry 3delay_before_retry 3}   }       real_server 192.168.150.13 80 {weight 1HTTP_GET {url {path /status_code 200}connect_timeout 3nb_get_retry 3delay_before_retry 3}}scp  ./keepalived.conf  root@node04:`pwd`

LVS+Keepalived

1.主LVS + Keepalived,会创建VIP地址
2.备LVS + Keepalived,不会创建VIP地址;当主LVS挂掉时,创建VIP地址
3.keepalived用于监控LVS和real server的状态

相关问题

问题: 其中一个LVS挂断?
备份的LVS,会创建VIP(virtual vip),如果主LVS重新启动,会剔除备机的VIP地址,保证一个网络上只有一个VIP地址

问题:real server挂断?
real server挂断,keepalived会从lvs中剔除;real server重新启动后,keepalived会重新加进去

问题:keepalived挂掉?
如果lvs主机的keepalived非正常挂断,备机会创建VIP,这样网络上就会出现两个VIP地址,直到主机的keepalived重新启动,备机的VIP地址才会删除

LVS的Net模式、DR模式、TUN模型理解及LVS、Keepalived搭建相关推荐

  1. lvs实现四层负载DR模式

    1.什么是lvs LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目 ...

  2. LVS负载均衡与DR模式

    LVS负载均衡与DR模式 一.DR模式的特点 二.LVS-DR中的ARP问题 1.VIP地址相同导致响应冲突 2.返回报文时源地址使用VIP,导致网关设备的ARP缓存表紊乱 三.DR模式 LVS负载均 ...

  3. LVS负载均衡之DR模式

    LVS负载均衡之DR模式 一.LVS-DR数据包流量分析 客户端向目标VIP发送请求,负载均衡器接收 负载均衡器根据负载均衡算法选择后端真实服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为 ...

  4. Linux系统(五)负载均衡LVS集群之DR模式

    序言 DR模式是lvs集群中三种负载均衡模式的其中一种,那么上一篇中我写啦关于NAT模式的搭建与原理,为什么还要有DR模式与IP隧道模式呢? 首先我们来看3张图.LVS/NAT模式如下图: LVS/I ...

  5. LVS负载均衡之--DR模式

    前言:上一章和拐友们讲解了LVS虚拟服务器的NAT模式,这章讲解LVS中的负载均衡中的DR模式 目录 一.LVS-DR工作原理 1.1数据包流向分析 1.2DR模式的特点 二.ARP的问题 2.1问题 ...

  6. LVS集群之DR模式

    1.给web1/2服务器添加VIP用来转发数据包给客户端 [root@localhost ~]# ifconfig lo:0 192.168.0.109/32 2.禁止web1/2服务器的VIP地址接 ...

  7. LVS三种工作模式(NAT、DR、TUN)原理及配置

    首先声明文章出处:<Lvs之NAT.DR.TUN三种模式的应用配置案例 >是由helloworld发表于速学堂的一篇文章,感谢helloworld的分享,内容非常全面充实,因此转载作为复习 ...

  8. 企业级负载均衡集群(4层)——lvs的DR模式和TUN模式(一)

    文章目录 1.什么是lvs? 1.1 lvs的特点 1.1.1 lvs的优点 1.1.2 lvs的缺点 2 LVS工作模式 2.1 LVS工作模式分类 2.2 lvs三种工作模式的原理与区别 2.2. ...

  9. LVS DR模式负载均衡

    高并发场景 LVS 安装及高可用实现 分类: 运维基本功,故障解决 转载自 惨绿少年   https://www.cnblogs.com/clsn/p/7920637.html 1.1 负载均衡介绍 ...

最新文章

  1. Python培训分享:python如何用cookie实现自动模拟登录?
  2. 马库斯再批深度学习:20年毫无进展,无法处理语言复杂性
  3. 如何计算ModBus超时时间?
  4. RabbitMQ 镜像模式 集群架构 工作最常用集群
  5. SDOI2015 排序
  6. inDesign教程,如何共享inDesign文件?
  7. GNS3使用二:通过ASDM管理ASA防火墙
  8. 为什么c语言没落了,编程语言Go飞速大涨,Delphi走向没落
  9. IDEA插件系列(81):Shifter插件——字符串操作
  10. ps无法启动,ps暂存盘满了
  11. 华泰证券:“融券通”是何阳谋?
  12. php 建行外联平台退款
  13. 操作系统有哪些.智能手机的操作系统有哪些?
  14. OpenLayers5在EPSG:4326投影坐标系下测量长度和面积
  15. 视频合并技巧,如何将多个视频合并在一起
  16. 数据仓库和数据挖掘方面比较好的书籍
  17. 可视化,mapboxGL加载台风风场动画
  18. 基于Ryu 防火墙的检测和解决异常入侵的流量--实验
  19. Xcon北京黑客大会明天开幕
  20. 如何关闭iPhone打电话时音频里面的Mac选项

热门文章

  1. 植物大战僵尸 “Hex editor” 修改关卡进度和金币数量攻略
  2. LDF explorer使用问题记录
  3. 通过例子学TLA+(四)-- Send Rev Print
  4. 【一】使用Netty实现群发消息
  5. 七日杀服务器修改武器,七日杀物品修改代码大全 七日杀合成表修改教程及代码...
  6. 数字经济时代审计工作的数智化转型
  7. 是高通芯片好还是洛达芯片好_2020年5月最全面华强北洛达1536u951-001Airpods攻略
  8. 新电脑必装的良心软件,你知道几个
  9. TI高精度实验室-运算放大器-第八节-噪声
  10. 1.一步一步写简易版飞鸽传书(一)