`
yangzb
  • 浏览: 3474234 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

负载均衡会话保持技术、原理、产品(以F5为例)

阅读更多

1.什么是会话保持?
在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔 交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者 上几步的交互过程结果,服务器进行下一步操作时需要这就要求所有这些相关的交互过程都由一台服务器完成,而不能被负载均衡器分散到不同的服务器上。

而 这一系列的相关的交互过程可能是由客户到服务器的一个连接的多次会话完成,也可能是在客户与服务器之间的多个不同连接里的多次会话完成。不同连接的多次会 话,最典型的例子就是基于http的访问,一个客户完成一笔交易可能需多次点击,而一个新的点击产生的请求,可能会重用上一次点击建立起来的连接,也可能 是一个新建的连接。

会话保持就是指在负载均衡器上有这么一种机制,可以识别做客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。

2. F5支持什么样的会话保持方法?
F5 BigIP支持多种的会话保持方法,其中包括:简单会话保持(源地址会话保持)、HTTP Header的会话保持,基于SSL Session ID的会话保持,I-Rules会话保持以及基于 HTTP Cookie的会话保持,此外还有基于SIP ID以及Cache设备的会话保持等,但常用的是简单会话保持,HTTP Header的会话保持以及 HTTP Cookie会话保持以及基于I-Rules的会话保持。

2.1 简单会话保持
简单会话保持也被称为基于源地址的会话保持,是指 负载均衡器在作负载均衡时是根据访问请求的源地址作为判断关连会话的依据。对来自同一IP地址的所有访问请求在作负载均时都会被保持到一台服务器上去。在 BIGIP设备上可以为“同一IP地址”通过网络掩码进行区分,比如可以通过对IP地址192.168.1.1进行255.255.255.0的网络掩 码,这样只要是来自于192.168.1.0/24这个网段的流量BIGIP都可以认为他们是来自于同一个用户,这样就将把来自于192.168.1.0 /24网段的流量会话保持到特定的一台服务器上。

简单会话保持里另外一个很重要的参数就是连接超时值,BIGIP会为每一个进行会话 保持的会话设定一个时间值,当一个会话上一次完成到这个会话下次再来之前的间隔如果小于这个超时值,BIGIP将会将新的连接进行会话保持,但如果这个间 隔大于该超时值,BIGIP将会将新来的连接认为是新的会话然后进行负载平衡。

基于原地址的会话保持实现起来简单,只需要根据数据包三、 四层的信息就可以实现,效率也比较高。存在的问题就在于当多个客户是通过代理或地址转换的方式来访问服务器时,由于都分配到同一台服务器上,会导致服务器 之间的负载严重失衡。另外一种情况上客户机数量很少,但每个客户机都会产生多个并发访问,对这些必发访问也要求通过负均均衡器分配到多个服器上,这时基于 客户端源地址的会话保持方法也会导致负载均衡失效。

2.2 基于Cookie的会话保持
2.2.1 cookie插入模式:
在 Cookie插入模式下,BigIP将负责插入cookie,后端服务器无需作出任何修改.当客户进行第一次请求时,客户HTTP请求(不带 cookie)进入BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复(不带cookie)被发回BIGIP,然后 BIGIP插入cookie,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次BIGIP插入的cookie)进入 BIGIP,然后BIGIP读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请 求回复,由于服务器并不写入cookie,HTTP回复将不带有cookie,恢复流量再次经过进入BIGIP时,BIGIP再次写入更新后的会话保持 cookie。

2.2.2 Cookie 重写模式
当客户进行第一次请求时,客户HTTP请求(不带cookie)进入 BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个空白的cookie并发回BIGIP,然后 BIGIP重新在cookie里写入会话保持数值,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次BIGIP重写的 cookie)进入BIGIP,然后BIGIP读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然 后后端服务器进行请求回复,HTTP回复里又将带有空的cookie,恢复流量再次经过进入BIGIP时,BIGIP再次写入更新后会话保持数值到该 cookie。

2.2.3 Passive Cookie 模式,服务器使用特定信息来设置cookie。
当客户进行第一次请求 时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个cookie并发回BIGIP,然后 BIGIP将带有服务器写的cookie值的HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次服务器写的cookie)进入 BIGIP,然后BIGIP根据cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请 求回复,HTTP回复里又将带有更新的会话保持cookie,恢复流量再次经过进入BIGIP时,BIGIP将带有该cookie的请求回复给客户端。

2.2.4 Cookie Hash模式:
当 客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个cookie并发回BIGIP,然后 BIGIP将带有服务器写的cookie值的HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次服务器写的cookie)进入 BIGIP,然后BIGIP根据cookie里的一定的某个字节的字节数来决定后台服务器接受请求,将HTTP请求(带有与上面同样的cookie)发到 指定的服务器,然后后端服务器进行请求回复,HTTP回复里又将带有更新后的cookie,恢复流量再次经过进入BIGIP时,BIGIP将带有该 cookie的请求回复给客户端。

2.3 SSL Session ID会话保持
在用户的SSL访问系统的环境里,当SSL 对话首次建立时,用户与服务器进行首次信息交换以:1}交换安全证书,2)商议加密和压缩方法,3)为每条对话建立Session ID。由于该Session ID在系统中是一个唯一数值,由此,BIGIP可以应用该数值来进行会话保持。当用户想与该服务器再次建立连接时,BIGIP可以通过会话中的 SSL Session ID识别该用户并进行会话保持。

基于SSL Session ID的会话保持就需要客户浏览器在进行会话的过程中始终保持其SSL Session ID不变,但实际上,微软Internet Explorer被发现在经过特定一段时间后将主动改变SSL Session ID,这就使基于SSL Session ID的会话保持实际应用范围大大缩小。

分享到:
评论

相关推荐

    F5负载均衡会话保持技术及原理技术白皮书.docx

    F5负载均衡会话保持技术及原理技术白皮书.docx

    F5负载均衡会话保持

    详细讲述了F5是如何保持会话,保持会话的各种方法的讲解。

    F5负载均衡算法以及会话保持

    关于F5的负载均衡的算法以及会话保持的说明

    负载均衡会话保持

    解释什么叫负载均衡和会话保持,以及分别列举各种负载均衡的方案,详细讲解会话保持的方案设计。

    弘积负载均衡简易运维手册

    3.2、弘积负载均衡 3.2.1、配置节点(类似F5 poolmembers) 3.2.2、配置定义健康检查 延伸:不同poolmember采用不同健康检查(与F5类似) 目录 3.2.3、配置虚拟服务(类似F5 poolmembers) 3 3.2.4、...

    F5负载均衡算法标准详解

    应用交换技术的负载均衡算法 应用交换技术里主要包括四项关键的技术: 截获和检查流量 服务器监控健康检查 负载均衡算法 会话保持 截获和检查流量保证只有合适的数据包才能通过; 服务器监控和健康检查随时了解...

    F5_服务器负载均衡方案

    5.3 会话保持技术 13 5.4 HTTP流量压缩 15 5.5 连接优化和长连接负载均衡 15 5.6 带宽管理 16 5.7 API接口iControl 17 5.8 系统安全性 20 5.8.1 提高服务器的高可用性 21 5.8.2 提高自身的高可用性 22 5.8.3 网络...

    f5负载均衡用户指导手册

    F5 BIG-IP用作HTTP负载均衡器的主要功能: F5 BIG-IP提供12种灵活的算法将...F5 BIG-IP具有动态Session的会话保持功能。 F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名、URL,将访问请求传送到不同的服务器

    用haproxy实现RDP会话负载均衡

    用haproxy实现RDP会话负载均衡 这篇文章主要针对 thinstation 方案来做测试。

    F5会话保持

    介绍F5会话保持机制,以及会话保持的几种方法

    tomcat7负载均衡会话共享实现

    基于memcached的tomcat7服务器session共享技术,达到了负载均衡的目的!

    WAS集群 负载均衡 会话共享

    WAS集群负载均衡和会话共享架构的实现,典型的WAS集群部署,配置方案。可作为Http server,WAS Application server,DM相关配置的参考 典型的WAS集群部署,配置方案。可作为Http server,WAS Application server,DM相关...

    F5-BIG-IP负载均衡器配置实例与Web管理界面体验

    F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能...

    互联网公司 负载均衡方案手册

    F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能...

    F5负载均衡简易运维手册

    目录 3.1.1、配置Poolmember 2 延伸:不同poolmember采用不同健康检查 3 3.1.2、配置VS 4 3.1.3、自定义健康检查 5 3.1.4、自定义fasltL4参数 6 ...3.1.13、查看服务器会话连接数 19 3.1.14、f5抓包 19 3.1

    nginx+tomcat7+memcached session会话保持

    基于tomcat7版本的memcached会话保持,内置tomcat需要的jar包。

    负载均衡F5

    F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能...

    tomcat负载均衡架构及会话复制集群的实现视频

    tomcat负载均衡架构及会话复制集群的实现视频 总共是分三个阶段讲解

    负载均衡原理与实践详解.

    负载均衡原理与实践详解 1.概述 2.定义和应用 3.服务器负载均衡的基本概念-网络基础 4.使用负载均衡器的服务器群 5.负载均衡时数据包流程详解 6.健康检查机制详解 ...8.服务器负载均衡技术进阶-会话保持

    Nginx+Keepalived+Tomcat+Memcached 实现双VIP负载均衡及Session会话保持.txt

    内置内存存储,并且他的分布式算法是在客户端完成的,不需要服务器端进行通信,我们当时在做项目的时候因为考虑到项目的高可用性高扩展性,因此在服务器部署方面采用了apache+jk+tomcat这种负载均衡的方式,...

Global site tag (gtag.js) - Google Analytics