负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载均衡相关的知识,希望对你有一定的参考价值。

负载均衡作用:

建立在现有网络结构之上,提供一种廉价、有效、透明的方法,来扩展网络设备和服务器的带宽,并发量,吞吐量,加强网络数据处理能力,提高网络灵活性,扩展性和可用性。

 

负载均衡相关:

什么是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,用于客户访问,以及调用后台服务器池中的服务

 

服务器负载均衡的部署模式:

反向代理模式

技术分享

 

  1. 客户端连接到负载均衡的虚拟IP

  2. 服务器处理客户的请求,根据算法向内部服务器提交请求(源IP变为负载均衡的虚拟IP

  3. 内部服务器收到负载的请求后回应请求

  4. 负载回复客户端

     

网关模式(网关模式和反向代理模式的拓扑基本一样,唯一需要注意一点,网关模式中客户端源IP地址不变,后台服务器网关必须配置为负载的IP)

  1. 客户端连接到负载的虚拟IP

  2. 负载均衡把虚拟IP地址转换为内部服务器地址(源地址不变)

  3. 负载均衡处理客户请求,通过算法向内部服务器提交请求

  4. 内部服务器收到负载的请求后回应

  5. 负载将转换后的目的IP再次转换为虚拟IP

  6. 负载回复客户端

 

三角传输模式(三角传输功能是专门为低入站/高出站的应用设计的,例如视频点播应用。它能以最快、最有效的方式响应请求。内部服务器的网关配置为网关路由器IP,且内部服务器必须配置一个和VIP相同的备用IP,用于数据转发。

技术分享

  1. 客户端连接到负载的虚拟IP

  2. 负载均衡把虚拟IP地址转换为内部服务器地址(源地址不变)

  3. 负载均衡处理客户请求,通过算法向内部服务器提交请求

  4. 内部服务器收到请求,将回复信息发送给网关路由器

  5. 路由器回复客户端

 

负载均衡对于数据请求的处理流程:

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请求包检测后台服务的通信状况

 

 

以上是关于负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

ribbon负载均衡详解

四层负载均衡技术

快速理解负载均衡

常见的负载均衡技术

系统架构之负载均衡

负载均衡基本介绍