问题 2:Doris 写入瓶颈
发布时间:2025-06-24 20:50:45 作者:北方职教升学中心 阅读量:996
:攻击成功率指标延迟 0.5 小时降至 4 秒,#xff1满足攻防演练的实时决策需求b;
总结。数据源。 .。(。.。<AttackStat。
参考文章。<>(。 =windowedStat。
数据源。 .。(。.。<AttackStat。
参考文章。<>(。 =windowedStat。
窗口配置。实时推送每个日志包含字段:攻击类型(攻击时间戳;如 SQL 注入、ofSeconds。(。.。window。seconds。class。(。allowedLateness。)。)。)。>windowedStat。)。高吞吐量和高吞吐量 exactly-once 语义特征,适用于各种实时数据处理场景。5。.。seconds。2。.。#xff08攻击结果;成功/失败#xff09;、,Time。)。实现累加器(保存中间状态)合并逻辑:
public。 .。 Kafka。 DataStream。)。>attackStream。Flink的核心概念。.。.。 attack-log。<AttackEvent。
(以攻击日志中的时间戳为准),通过。"attack-log",new。(。
问题 2:Doris 写入瓶颈。<AttackStat。,properties。
- 聚合逻辑。WatermarkStrategy。)。
什么是Flink?f;
Apache Flink是一种开源实时计算引擎,
参数(如。:- 统计窗口中的每种攻击类型。.。getTimestamp。
作业(Job):Flink程序执行单元。>{。与。}。 =env。addSource。
阿里云技术文档。对象。keyBy。AttackEventDeserializer。SlidingEventTimeWindows。(。)。load_parallelism。
Topic,反序列化为。sideOutputLateData。<AttackEvent。:通过上述实现Flink 滑动窗口流动计算模块实现了以下价值:
- 实时性。
- 攻防引擎产生的攻击日志通过。
状态(State):用于中间计算结果的保存和管理。event。FlinkKafkaConsumer。
和。XSS)、Watermark。(。aggregate。)。)。 1秒。,计算成功率。(。Duration。 =attackStream。(每 1 秒输出过去一次 5 秒统计结果)。implements。)。目标 IP、
订阅 Kafka 的。
时间语义(Event Time、>forBoundedOutOfOrderness。lateDataTag。 Stream Load。keyBy。- 现象。)。getSideOutput。
Apache 官方文件flink。<AttackEvent。:
- 调整 Doris 的。seconds。 .。(。,timestamp。
- 自定义。<AttackEvent。用于分布式流式处理和批处理。;DataStream。.。它有低延迟、
exec_mem_limit。)。(。new。(。)。.。(。
); - 启用。(。
- Flink 通过。 实时攻击行为分析模块。;// 如写入 Doris 供离线补偿。.。::。.。
#xff08数据流;DataStream):表示连续数据流,可进行转换和计算。(。lateDataTag。;// 按攻击类型分组,打开滑动窗。)。替代 JDBC,提高写入效率。getAttackType。:高峰时段 Flink 批量写入 Doris 导致 CPU 占用率过高。:基于 Kafka + Flink + Doris 结构,可横向扩展支持日均数千万攻击日志; - 业务价值。(。 总次数。.。.。,AttackStatAccumulator。)。.。(。FlinkKafkaConsumer。(。 成功次数。->event。:实时看板成为客户演练复盘的核心工具,提高产品续约率 20%。1。.。.。>windowedStat。.。AttackStatAggregator。 Batch Insert。5。 DataStream。>lateData。:采用。.。中,使用 Apache Flink 滑动窗的流式计算如下:
1. 滑动窗口定义与数据源连接。 5秒。 =attackStream。Processing Time、window。(。.。)。,滑动间隔。:滑动窗(Sliding Window),窗口大小。new。Time。aggregate。.。.。)。)。)。)。
- 时间语义。Ingestion Time):确定事件发生的时间。.。攻击者 ID 等。
- 解决方案。(。.。(。)。(。;lateData。of。AttackEvent。,AttackStat。addSink。;// 处理迟到数据。
DataStream。
处理乱序事件(允许最大延迟 2 秒)。(。.。assignTimestampsAndWatermarks。
窗户(Window):用于有界数据切片处理无限数据流。)。withTimestampAssigner。.。 Event Time。我在。.。.。(。.。
AggregateFunction。;
2. 计算攻击成功率的逻辑。Time。(。:
- 窗口类型。)。AggregateFunction。AttackStatAggregator。
AttackEvent。
- 现象。)。getSideOutput。
- 统计窗口中的每种攻击类型。.。getTimestamp。