风险特征系统 EPC 子系统:基于 Kafka 数据源与数据集配置的 Flink 指标清洗加工

1. 系统概述

风险特征系统 EPC 子系统,是用于根据后管配置的接入的 Kafka 数据源信息和数据集信息清洗加工 Flink 指标的。它承担着从原始数据接入到最终指标产出的关键链路职责,是风险特征计算体系中的重要一环。

2. 核心功能

EPC 子系统围绕两个核心配置来源展开工作:

  • Kafka 数据源信息:由后管系统统一配置,定义了数据接入的 Topic、消费组、序列化方式等基础连接参数。
  • 数据集信息:由后管系统维护,描述了数据的字段结构、业务含义以及清洗加工所需的规则定义。

子系统根据这两类配置,驱动 Flink 作业完成对实时数据流的清洗与加工,最终产出可供风险特征计算使用的指标数据。

3. 系统架构与 Actor 模式

EPC 子系统内部主要采用 Akka 的 Actor 模式进行构建。系统启动时,首先读取数据库中接入的 Kafka 数据源信息,并据此启动对应的 Kafka 消费程序。消费到的原始数据交由 ProcessService 处理,ProcessService 根据 Topic 名称找到数据库中配置的 Kafka 字段信息,将提取出的字段信息封装到 Map 中向下传递,最终交给 DataSetService 进行后续处理。

4. 消息总线与订阅机制

DataSetService 中定义了全局消息总线 LookupBusImpl sourceBus。ProcessService 处理完数据后,通过 sourceBus.publish() 将消息发布到总线上。系统启动后,会读取数据库中所有的数据集 PlanList,并逐一执行 subscribe(plan, sourceId) 完成对相应消息的订阅,从而实现数据从 Kafka 接入到数据集加工处理的全链路流转。

5. 工作流程

EPC 子系统的工作流程可以概括为以下几个阶段:

  1. 配置加载:从后管系统拉取 Kafka 数据源信息和数据集信息,完成作业参数的初始化。
  2. 数据接入:按照数据源配置连接 Kafka,订阅对应 Topic,获取原始实时数据流。
  3. 清洗加工:依据数据集信息中定义的字段映射、过滤规则和转换逻辑,对原始数据进行清洗与加工。
  4. 指标产出:将加工后的数据按指标口径进行聚合计算,输出最终的风险特征指标。

6. 技术要点

在实现层面,EPC 子系统需要重点关注以下几个方面:

  • 配置与作业解耦:后管配置变更后,Flink 作业能够动态感知并调整处理逻辑,避免频繁重启作业。
  • 数据质量保障:在清洗环节对脏数据、缺失字段和异常格式进行有效处理,确保指标计算的准确性。
  • 性能与稳定性:合理设置并行度、检查点(Checkpoint)和背压(Backpressure)处理策略,保障实时链路的稳定运行。

7. 总结

风险特征系统 EPC 子系统通过后管配置驱动 Flink 作业,结合 Akka Actor 模式与全局消息总线机制,实现了从 Kafka 数据接入到指标清洗加工的全流程自动化,为风险特征计算提供了可靠、灵活的数据基础。

相关推荐
富士康质检员张全蛋1 小时前
Kafka实战 生产阶段 消费阶段的拦截器
kafka
海上小飞龙2 小时前
分布式和微服务,一次讲清
分布式·微服务·架构
clz13145212 小时前
用 Akka Actor 模拟消费 Kafka 加工处理并发送到 Flink Out Kafka 的完整示例
flink·kafka·linq
(Charon)3 小时前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
陈皮波比茶18 小时前
分布式任务调度xxl-job
java·分布式
敲代码的嘎仔19 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
lauo1 天前
FDE的终极形态:从“一个人”到“一个网络”
人工智能·分布式
大橙子plus1 天前
linux搭建kafka
linux·运维·kafka
letisgo51 天前
JAVA 高级进阶10篇《消息队列实战:RocketMQ/Kafka选型与“不丢不重有序“三连解》
java·面试·kafka·消息队列·rocketmq