# DDoS分布式检测 **Repository Path**: yu-zhihang666/ddos-distributed-detection ## Basic Information - **Project Name**: DDoS分布式检测 - **Description**: 一个分布式, 可水平拓展的DDoS检测服务 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-06-27 - **Last Updated**: 2024-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DDoS分布式检测 #### 介绍 一个分布式, 可水平拓展的DDoS检测服务 #### 软件架构 (1) 解决大规模DDoS攻击带来的防御系统所必须的水平扩展问题. 将防御系统按照功能不同拆分成了特征提取, 模型检测, 攻击判定, 态势感知4个微服务, 基于微服务框架Dubbo进行微服务的开发, 由Docker进行部署. (2) 为了实现微服务对流量的并行处理, 对不同微服务进行解耦, 并对大规模DDoS攻击中可能剧烈变化的吞吐量进行流量削峰, 使用消息队列RabbitMQ将特征提取和攻击判定的结果写入消息队列, 由模型检测模块和态势感知模块使用. (3) 由于检测系统在对每个访问IP的模块检测结果进行限时计数的基础上进行攻击判定, 使用Redis将模型检测微服务的不同实例的检测结果进行统一计数, 根据计数结果进行攻击判定. (4) 项目需要将流量检测信息存入数据库供态势感知模块分析, 但是由于大规模DDoS攻击可能带来数据的剧烈增长问题, 采用了分布式数据库TiDB作为数据库进行流量信息存储, 并使用MyBatis作为Java的数据持久层框架, 实现了大规模数据的数据库存储功能.