Page 212 - 中国公共安全1月刊
P. 212
C Cutting-edge Technology
前沿技术
各个负载均衡节点映射一台或多台应用节点,每个 讯。当与节点 进行心跳通讯,在规定时间内收到
应用节点的任务只由一个负载均衡节点调度。负载 应答,则将该节点连续失效次数归零;如果未收
均衡节点和应用节点之间是一对多的关系。分片调 到,则将连续失效次数自加。当该节点连续失效次
度模型中,负载均衡节点和应用节点之间的关系简 数达到阈值,则记该节点失效,作出失效节点替换
单,映射明确,易于管理,但是容易带来单点失效 的决策。
的问题。当一个负载均衡节点发生故障后,其所属 定义3 连续失效次数,指连续心跳通讯未收
的应用节点将无法接收到任何任务,直到节点故障 到应答的次数。节点node i 的连续失效次数记为
排除或其他节点接管。 lost i 。
失效节点替换的过程主要是当心跳模块检测
到节点失效后,通知调度模块,新增一个节点以替
换失效节点,从而保证服务的可用性。同时,考虑
到节点的失效一般是由于节点所在的物理机故障
引起。因此对于节点所属物理机中的其余虚拟机,
追加一次心跳通讯,确认其余虚拟机的可用性。具
体算法如下:
Step1:心跳模块向节点node i 发出心跳通讯请
▲ 图2:分片调度模型与交叉调度模型 求。
Step2:节点node i 在时间t timeout 内未返回应答,节
交叉调度与分片调度不同,每个应用节点的任 点node i 失效次数自加,lost i =lost i +1,转向Step3;否
务可以由多个负载均衡节点调度。负载均衡节点和 则,则将失效次数清零lost i =0,转向Step4。
应用节点之间存在着多对多的关系。与分片调度 Step3:lost i 与预设的失效阈值lost max 作比较,
相比较,交叉调度可以有效的解决单节点失效问 如果lost i <lost max ,转向Step4;否则,判定该节点失
题。当一个负载均衡节点失效后,由于其后端所属 效,转向Step5。
的应用节点同时从属于另外的负载均衡节点。因此 Step4:等待Δt时间,返回Step1。
应用节点可以持续提供应用服务而不中断。 Step5:作出决策,增加类型为type i 的新节点,
在交叉调度中,由于应用节点可以从属于不同 并删除node i 节点,提交调度模块执行。同时,向
的负载均衡节点,因此对于交叉调度中调度关系 node i 节点所属物理机中的其余虚拟机,发送心跳
集的生成和维护是核心。本文设计了负载调度算 通讯请求。
法,用以管理负载均衡层和应用层之间的调度关 弹性伸缩算法
系。 自动伸缩模块根据弹性伸缩算法,对于集群
的规模进行控制,满足服务质量需求的同时,提高
弹性负载均衡服务策略 资源的利用率。弹性伸缩算法的主要思想是根据
失效节点替换 实时的监控数据,与预设的弹性伸缩规则进行匹
心跳模块每隔 时间,与节点进行依次心跳通 配,从而作出增加或者减少节点的决定。
196 第七届深圳国际智能交通与卫星导航位置服务展览会(2018.6.22-6.24深圳会展中心)www.its-expo.com
భခඌ JOEE