LVS-nat模式-原理介绍
集群,为解决某个特定问题将多台计算机组合起来形成的单个系统
lvs-nat:
本质是多目标ip的dnat,通过将请求报文中的目标地址和目标端口修改为某挑出的rs的rip和port实现转发
lvs集群类型中的术语:
vs:virtual server,director server(ds)
dispatcher(调度器),load balancer
rs:real server(lvs), upstream server(nginx)
backend server(haproxy)
cip:client ip
vip: virtual serve ip vs外网的ip
dip: director ip vs内网的ip
rip: real server ip
lvs-nat模式工作流程图:
个人理解:
1、当客户端发起链接请求,访问web服务器,首先到达最近的路由器,中间串过层层路由关卡,来到了lvs服务器,
2、经过iptables表规则筛选,发现是给它自己的,而它自己本机没有web服务,就把请求目标变更为rip,源不变
3、通过路由表postrouting把变更后的请求报文发给rip
4、rs中有个rip收到后,开始回应,发送回应报文,源rip,目标cip,经过postrouting回到lvs调度器
5、在请求报文中做了转换,回应报文也要转回去,所有到达lvs调度器,更改回应源,源vip,目标cip,经过prerouting到达最近的路由
6、穿过层层路由大军到了客户端
nat模式注意事项:
(1)rip和dip应在同一个ip网络,且应使用私网地址;rs的网关要指向dip
(2)请求报文和响应报文都必须经由director转发,director易于成为系统瓶颈
(3)支持端口映射,可修改请求报文的目标port
(4)vs必须是linux系统,rs可以是任意os系统
nat模式-优点:
(1)安全
(2)目标地址不仅可以替换,端口号也参与替换
(3)可以实现不同网段的数据请求
nat模式-缺点:
因为在 vs/nat 中请求和响应报文都需要通过负载调度器,响应报文实体内容多大,导致压力倍增,伸缩能力有限, 当服务器结点数目升到 20 时,调度器本身有可能成为系统的新瓶颈,次模式影响了性能发挥。
结语:后续更精彩
也可移步
谢谢
上一篇: Java知识点梳理——读写分离