首页> 中文学位 >基于令牌桶算法的流量控制服务的设计与实现
【6h】

基于令牌桶算法的流量控制服务的设计与实现

代理获取

目录

声明

摘要

1 绪论

1.1 课题背景与意义

1.2 相关技术现状

1.2.1 基于nginx的限流

1.2.2 RateLimiter

1.3 论文工作与章节安排

2 相关技术说明

2.1 流量整形算法

2.1.1 漏桶算法

2.1.2 令牌桶算法

2.2 存储中间件

2.2.1 Tair

2.2.2 Zookeeper

2.3 Web服务技术

2.3.1 SpringMVC框架

2.3.2 Jetty

2.3.3 FreeMarker模板引擎

3 需求分析

3.1 总体需求分析

3.1.1 业务现状

3.1.2 流量控制需求

3.1.3 接入维护需求

3.1.4 性能需求

3.2 应急管理模块

3.3 配置管理模块

3.4 流量控制模块

4 系统设计

4.1 总体设计

4.1.1 系统架构

4.1.2 存储模型

4.1.3 流量控制算法

4.2 应急管理模块设计

4.2.1 模块架构

4.2.2 数据库表设计

4.2.3 核心流程介绍

4.3 配置管理模块设计

4.3.1 模块架构图

4.3.2 核心流程介绍

4.4 流量控制模块设计

4.4.1 模块架构

4.4.2 业务接入流程

4.5 拦截策略设计

4.5.1 限时服务策略

4.5.2 限制访问频率策略

4.5.3 带白名单的过载保护策略

5 系统实现

5.1 开发环境

5.2 接口设计

5.2.1 应急管理模块

5.2.2 流量控制模块

5.2.3 流量控制实现流程

5.3 核心代码分析

5.3.1 应急管理模块

5.3.2 配置管理模块

5.3.3 流量控制模块

6 应用成果及分析

6.1 接入现状

6.2 功能分析

6.3 性能分析

6.3.1 压力测试平台pTest介绍

6.3.2 压力测试数据分析

6.4 成果与规划

6.4.1 目前接入情况

6.4.2 未来规划

结论

参考文献

致谢

展开▼

摘要

当前工业环境中,对高并发网络服务的流量控制是十分重要的。如果在访问高峰期出现异常流量的增长,导致服务宕机,则会损失惨重。然而,当流量异常时一刀切式的斩流量,势必会造成用户体验的不完整,也可能会导致核心交易流程无法完成。因此,需要提供一个基于业务场景的、可以实时配置的流量控制解决方案。  为了满足这些需求,流量控制服务为业务方提供了实时配置、拦截和流量控制的一站式服务。基于流量整形的经典算法—令牌桶算法,我设计了三种不同的流量控制策略。业务方根据自己的业务场景,配置合理的限流参数。在应急管理系统中设置拦截策略后,服务将拦截信息推送至zookeeper中,并同步到应用的本地配置文件中;限流服务对每个到达应用的请求进行分析,检查接口名和用户标识,匹配策略信息;根据策略类型处理相应的拦截逻辑,返回对应的response。拦截粒度可以细化到每个用户对每个接口的请求,从而实现基于业务场景深度定制的流量控制和整形。  通过连接线上服务进行压力测试,证明流量控制服务不仅能够满足业务的功能性需求,对异常流量进行限制;同时,也能作为基础组件对业务提供较高的性能支持。截至本文定稿前,共有两个核心业务接入了流量控制服务,一部分核心业务正在进行对接,接入服务的运行情况良好。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号