读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
更多笔记分享
- 实现LVS负载均衡
下图为NAT模式(基于三层的)(三层是网络层):
D-NAT,红色的为缺点。优点是可以实现负载均衡了。
来去数据包都需要负载均衡服务器的转向(客户端只知道CIP到VIP,到了负载均衡服务器的VIP后翻译为CIP要发给RIP,然后返回RIP要给CIP经过负载均衡服务器翻译为VIP给CIP),非对称一般讲的是家里上传比较慢,下载比较快,6m的网出入方向的带宽不同,不是6/2(早期电话线上网就是这样)。
基于三层也就是数据包中的IP地址在每跳时候都变。
解决:如果返回数据包不经过负载均衡服务器,那就减少了算力,减少带宽消耗。
下图为DR模式(直接路由模型)(基于二层的)(二层是链路层):
server中的VIP隐藏起来不告诉别人,大家只知道负载均衡服务器有个VIP。
从负载均衡服务器的VIP到server的RIP,在负载均衡服务器端给数据包加工加一个指向对应server的MAC地址,因为从客户端过来的数据包是CIP->VIP,自己的负载均衡服务器里面有VIP所以数据包以为这就是终点会在这停留,但是强行加入对应server的mac地址让他出去。
基于二层就是每跳时数据包里IP地址不变,变MAC地址。
下图为TUN隧道模式:
负载均衡服务器中在CIP到VIP的数据包外面添加一层DIP到RIP,这样负载均衡服务器和server服务器就不用住在一个局域网内了,DIP->RIP会在网络上跳到server端,server端只需要拆开包装就可以看到客户端发送的数据包了,处理之后跟DR模型一样变为VIP->CIP直接返回给客户端即可。
模型的搭建在下篇之中
三、补充知识
上图中192.168.1.1是私有地址,在互联网上是看不到的,6.6.6.6是公有地址,是唯一的,是运营商给分配的,花钱买他们的服务的时候会分配一个网上唯一的地址。
面试题总结
其它面试题(springboot、mybatis、并发、java中高级面试总结等)
朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**