负载均衡作用:
建立在现有网络结构之上,提供一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽,并发量,吞吐量,加强网络数据处理能力,提高网络灵活性,扩展性和可用性。
负载均衡相关:
什么是cookie
指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据
Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的信息
cookie的应用
提供应用的服务器默认是不知道客户端做了什么的,当你暂时需要记录你在网站上的一些操作时,怎么解决呢?这就出现了coolie技术。如网上购物车,当用户将请求信息发送到后台服务器时,服务器在回复时将在客户端插入一个cookie用于记录用户已经确定购买的物品;在不如当在网站中用账号登陆时,也是利用cookie来保存用户名密码的
session
是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间的内容。而SessionID这一数据则是保存到客户端,用Cookie保存的
负载均衡的分类:
服务器负载均衡
服务器负载均衡主要处理4~7层的负载,如数据库,dns,ftp,http等,其实就是对应用以及端口的负载。
服务器负载均衡解决的问题:
1.解决高并发访问问题
2.提供网络访问速度
3.将客户端请求均衡的分配给后台每一个服务器
4.利用健康检查及时查找后台服务器出现的问题,当某台服务器出现问题后不至于影响业务
搭建服务器负载均衡的条件
1.后台服务至少有两台,且提供相同服务,用于建立服务器池
2.服务器池拥有一个VIP,用于客户访问,以及调用后台服务器池中的服务
服务器负载均衡的部署模式:
反向代理模式
客户端连接到负载均衡的虚拟IP
服务器处理客户的请求,根据算法向内部服务器提交请求(源IP变为负载均衡的虚拟IP)
内部服务器收到负载的请求后回应请求
负载回复客户端
网关模式(网关模式和反向代理模式的拓扑基本一样,唯一需要注意一点,网关模式中客户端源IP地址不变,后台服务器网关必须配置为负载的IP)
客户端连接到负载的虚拟IP
负载均衡把虚拟IP地址转换为内部服务器地址(源地址不变)
负载均衡处理客户请求,通过算法向内部服务器提交请求
内部服务器收到负载的请求后回应
负载将转换后的目的IP再次转换为虚拟IP
负载回复客户端
三角传输模式(三角传输功能是专门为低入站/高出站的应用设计的,例如视频点播应用。它能以最快、最有效的方式响应请求。内部服务器的网关配置为网关路由器IP,且内部服务器必须配置一个和VIP相同的备用IP,用于数据转发。)
客户端连接到负载的虚拟IP
负载均衡把虚拟IP地址转换为内部服务器地址(源地址不变)
负载均衡处理客户请求,通过算法向内部服务器提交请求
内部服务器收到请求,将回复信息发送给网关路由器
路由器回复客户端
负载均衡对于数据请求的处理流程:
1.首先请求包发送到负载设备,负载设备将请求包通过策略发送给应用组
2.然后从应用组再通过算法下发给服务器池中个个后台服务
负载均衡策略:
2、3层策略 保持ip(基于已连接的源IP与应用组建立会话保持连接)、哈希ip(基于已连接的源IP地址做哈希值,然后与应用组建立会话保持连接)、QOS ip(将指定源IP与后台服务组绑定)、QOS clientport(将指定源ip与端口与后台服务组绑定)
4~7层策略 保持URL(基于已连接的url与后台应用组建立会话保持连接)、保持cookie(基于已连接的coolie值与后台应用组保持会话连接)、插入cookie(第一次请求服务器,服务器回应时插入一个coolie值与后台应用组保持会话连接)、QOS cookie(将指定的cookie值与后台服务组绑定)、QOS url(将指定的url值与后台服务组绑定)
负载均衡算法:
负载均衡算法分为会话保持算法和非会话保持算法(会话保持:当客户端和服务器建立完第一次连接后,之后再次连接时不会重新选择服务器;非会话保持算法:当客户端和服务器建立完第一次连接后,之后再次连接还得重新靠算法选择服务器)
非会话保持算法
轮询 请求发送后,利用轮流分配请求包的方式,平均分给后台服务器
最小连接数 请求发送后,负载查看后台那个应用服务的连接数小就将请求分发给谁
最短响应时间 负载设备查看从后台应用服务到自己那个响应的快,就将请求发给谁
常用的健康检查方式:
ICMP 利用ping来检测应用服务的网络状况
TCP 利用telnet来检测应用服务的端口状况
DNS 发送dns请求包检测后台服务的通信状况
HTTP 发送http请求包检测后台服务的通信状况
原文:http://10460741.blog.51cto.com/10450741/1860638