nginx的学习笔记,第五记。

1,总结nginx:他是负载均衡的软件。足够的稳定,支持动静分离。nginx主要是用在应用http请求这块。

常见的负载均衡的设备:F5 硬件设备非常贵,lvs是基于linux的系统层面的,非常快,非常稳定,不支持动静分离。

2,算法:

轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端的服务器down掉,能自动剔除。

weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

ip_hash

每个请求按访问ip的hash结果分配,这样每个访客,固定一个后端服务器,可以解决session问题。

fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

url_hash

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

----------------------------------------------------------------------------------------------------------------------------------

所谓的四层就是基于IP+端口的负载均衡;

七层就是基于URL等应用层信息的负载均衡;

同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。

换句话说,二层负载均衡会通过一个人虚拟的MAC地址接收请求,然后再分配到真是的MAC地址;三层负载均衡会通过一个虚拟IP地址

接收请求,然后再分配到真实的IP地址。

四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;

七层通过虚拟的URL或者主机名接收请求,然后再分配到真实的服务器。

----------------------------------------------------------------------------------------------------------------------------------

优缺点:

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

以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可以接收到

客户端发送的真正应用层内容的报文,然后再根据改报文中的特定手段,再加上负载均衡设备设置的服务器选择方式,决定最终的内部服务器。负载均衡在

这种情况下,更类似于一个代理服务器。负载均衡和前端的客户端以及后端的服务器分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的

对负载均衡设备的要求更高,处理七层的能力也必然低于四层模式的部署方式。更智能。

原文地址:https://www.cnblogs.com/fuckingPangzi/p/10140967.html