问题 2:Doris 写入瓶颈

发布时间:2025-06-24 20:50:45  作者:北方职教升学中心  阅读量:996


:攻击成功率指标延迟 0.5 小时降至 4 秒,#xff1满足攻防演练的实时决策需求b;
  • 可扩展性。.。

  • 总结。

    • 数据源。 .。(。.。<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。

        通过上述实现�Flink 滑动窗口流动计算模块实现了以下价值:

        1. 实时性。Topic,反序列化为。sideOutputLateData。<AttackEvent。

          • 攻防引擎产生的攻击日志通过。
            状态(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。
            窗户(Window):用于有界数据切片处理无限数据流。)。withTimestampAssigner。.。 Event Time。
            处理乱序事件(允许最大延迟 2 秒)。(。.。assignTimestampsAndWatermarks。

            我在。.。.。(。.。 AggregateFunction。;


            2. 计算攻击成功率的逻辑。Time。(。

            • 窗口类型。)。AggregateFunction。AttackStatAggregator。 AttackEvent。