nginx笔记6-总结

1.轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2.weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3.ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
4.fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5.按访问的url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

所谓四层就是基于IP+端口的负载均衡。
七层就是基于URL等应用层信息的负载均衡。
同理,还有基于mac地址的二层负载均衡和基于IP地址的三层负载均衡;
换句话说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后在分配到真实的MAC地址,三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址,四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;
七层通过虚拟机的URL或主机名接受请求,然后再分配到真实的服务器。


优缺点:
七层负载均衡也称为“内容交换”,也就是主要通过文中的正真有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容在选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接收到客户端发送的真正应用层内容的报文,然后在根据报文中的特定字段,在加上负载均衡设备设置的服务器选择方式,,决定最终选择的内部服务器,负载均衡设备在这种情况下,更类似于一个代理服务器,负载均衡和前端的客户端以及以后端的服务器会建立TCP连接,所以从这个技术原理上来看,七层负载均衡明显的对负载均衡的设备要求更高,处理七层的能力也必然会低于四层模式的部署方式。四层虽然效率高,简单粗暴,但是当某些业务场景需要要求控制精确的话,四层明显就不如7层控制精确了。

 

 

 

posted @ 2018-01-21 17:55  国见比吕  阅读(302)  评论(0编辑  收藏  举报