负载均衡会话保持的理解及使用
  

谢辉_新疆办_技术支持 5362

{{ttag.title}}
一:什么是会话保持

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

通俗点讲你打800处理一个问题,问题还没有处理完之前,你每次打电话进来,都让你找同一个人处理,避免转给其他人搞不清楚之前处理的情况。
会话保持是负载均衡里面的一个重要概念。

二:应用负载情况下的会话保持
我们现在只支持源地址会话保持,基于http cookie的会话保持。
1:源地址会话保持
简单会话保持也被称为基于源地址的会话保持,是指负载均衡器在作负载均衡时是根据访问请求的源地址作为判断关连会话的依据。对来自同一IP地址的所有访问请求在作负载均时都会被保持到一台服务器上去。在设备上可以为“同一IP地址”通过网络掩码进行区分,比如可以通过对IP地址192.168.1.1进行255.255.255.0的网络掩码,这样只要是来自于192.168.1.0/24这个网段的流量负责均衡设备都可以认为他们是来自于同一个用户,这样就将把来自于192.168.1.0/24网段的流量会话保持到特定的一台服务器上。
源地址会话保持里另外一个很重要的参数就是连接超时值,AD会为每一个进行会话保持的会话设定一个时间值,当一个会话上一次完成到这个会话下次再来之前的间隔如果小于这个超时值,AD将会将新的连接进行会话保持,但如果这个间隔大于该超时值,AD将会将新来的连接认为是新的会话然后进行负载平衡。
基于原地址的会话保持实现起来简单,只需要根据数据包三、四层的信息就可以实现,效率也比较高。存在的问题就在于当多个客户是通过代理或地址转换的方式来访问服务器时,由于都分配到同一台服务器上,会导致服务器之间的负载严重失衡。另外一种情况上客户机数量很少,但每个客户机都会产生多个并发访问,对这些必发访问也要求通过负均均衡器分配到多个服器上,这时基于客户端源地址的会话保持方法也会导致负载均衡失效。

2:http cookie
我们现在的实现方式为插入cookie。同样有超时时间设置。
当服务器回复的http数据经过设备时,不论这个回复的数据自身带不带cookie,我们都会插入我们自己的cookie,之后通过这个cookie值来进行用户识别。

具体过程:
当客户进行第一次请求时,客户HTTP请求(不带cookie)进入AD, AD根据负载均衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复(无论带不带cookie)被发回AD,然后AD插入cookie,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次的cookie)进入AD,然后AD读出自己插入的cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,恢复流量再次经过进入AD时,BIGIP再次写入更新后的会话保持cookie。
如果客户端禁止所有cookie,那么负载均衡会失效,会导致访问服务不成功。
其他还有许多方式可以用做会话保持,需要结合应用系统。例如https的session ID,http head,一些特定应用内部的会话特征等。会话保持的目的就是基于这些特征识别到用户,以便负载这些请求到同一台后端服务器上面去。

三:链路负载情况下的会话保持
原则:对于同一条连接的所有数据包,必须走同一条wan口线路;对于有关联的连接,也必须走同一条wan口线路。
1:代理上网
先走ip_conntrack进行关联连接识别,再添加到会话保持中。会话保持按照<wanIP,LANIP>来实现,意思是一个内网ip访问一个外网IP,将保持从一条链路出去,不再进行重新选路。

2:端口映射不存在会话保持,AD设备不进行干预,完全按照ip_conntrack 来实现。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

希望大家庭 发表于 2019-4-29 13:45
  
出来混脸熟来了
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
安全效果
干货满满
西北区每日一问
技术笔记
新版本体验
功能体验
【 社区to talk】
技术咨询
标准化排查
2023技术争霸赛专题
产品连连看
GIF动图学习
信服课堂视频
每周精选
自助服务平台操作指引
秒懂零信任
技术晨报
技术圆桌
通用技术
答题自测
安装部署配置
每日一记
原创分享
玩转零信任
场景专题
升级&主动服务
社区新周刊
畅聊IT
专家问答
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
故障笔记
排障那些事
高手请过招
高频问题集锦
POC测试案例
全能先锋系列
云化安全能力

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人