目录
概念:
它是免费、快速并且可靠的一种解决方案
适用于那些负载特大的web站点,这些站点通常又要会话保持或七层处理
提高高可用性、负载均衡以及基于TCP和HTTP应用的代理
衡量负载均衡性能的因素
Session rate会话率
--每秒产生的会话数
Session concurrtncy 并发会话数
--服务器处理会话的时间越长,并发会话越多
Data rate 数据速率
--以MB/s 或Mbps衡量
-大的对象导致并发会话增加
-高会话数、高数据速率要求更多的内存
负载均衡器:
硬件F5
软件LVS的装发效率是最高的,可以达到硬件F5的60% 是4层的服务不可以实别url
nginx和haproxy可以达到硬件F5的10% 是7层软件可以实别url
Haproxy工作模式
mode http ----客户端请求被深读分析后再发往服务器 (web 4层)
mode tcp ---客户端与服务器之间建立会话,不检查第七层信息 (邮件 7层)
mode health ---只是做健康检查。已经不建议使用
http简介
http协议解析
当HAProxy运行在HTTP模式下,HTTP请求(Request)和响应(Response)均被完全分析和索引,这样便于创建恰当的匹配规则。
理解HTTP请求和响应,对于更好的创建匹配规则
Http事务模型
Http协议是事务驱动的
每个请求(Request)能对应一个响应(Response)
常见模型:
--HTTP close
客户端向服务器建立一个TCP连接,客户端发送请求给服务器,服务器响应客户端请求后断开连接,如果客户端到服务器的请求不只一个,那么就要不断的去建立连接,TCP三次握手消耗相对比较大的系统资源,同时延迟较大。
简单的来说,就是建立了连接之后就马上断开联系,这种方式是不太好的。
--keep-alive(默认模式)
一次连接可以传输多个请求,客户端需要知道传输内容的长度,以避免无限期的等待传输结束,降低两个http事务间的延迟,需要相对校少的服务器资源
--pipelinling
仍然使用keep-alive,在发送后续请求前,不用等前面的请求已经得到回应,适用于有大量图片的页面,降低了多次请求之间的网络延迟。
http头部信息