Skip to content

lizzygrant233/real-time

Repository files navigation

Flink 电商实时数仓与经营监控

架构

用户行为模拟器 -> Kafka(ODS)
                 |
                 v
           Flink DataStream
   清洗 / 去重 / Watermark / 迟到数据分流
   分钟级窗口聚合 / 状态计算 / 异常告警
                 |
                 v
          StarRocks(ADS) -> Superset

MySQL 业务库 -> Flink CDC/FlinkSQL 维表方案

数据源设计

项目采用两类数据源:

  • Kafka 用户行为日志:模拟曝光、点击、加购、收藏、下单、支付等 App/前端埋点事件。
  • MySQL 业务库:提供用户、商品、类目、订单、支付等业务表,作为 Flink CDC 和维表关联的设计基础。

模拟器会尽量贴近真实电商特征:

  • 20:00-23:00 购买概率更高,模拟晚高峰。
  • 促销 SKU 权重更高,形成热门商品和热点 key。
  • 支付事件相对下单事件延迟 1-10 分钟。
  • 约 1.5% 事件重复发送,用来验证状态去重。
  • 约 4%-6% 事件乱序或明显迟到,用来验证 Watermark 和侧输出流。
  • 每小时 45-50 分钟提高支付失败率,模拟第三方支付通道波动。

主要文件

  • src/main/java/com/resume/realtime/simulator/EcommerceEventSimulator.java:贴合业务的 Kafka 模拟数据源。
  • src/main/java/com/resume/realtime/job/EcommerceRealtimeWarehouseJob.java:Flink 实时清洗、去重、聚合和告警主作业。
  • src/main/resources/flink-sql-realtime-warehouse.sql:FlinkSQL CDC 和实时 ADS 示例。
  • infra/mysql/init.sql:MySQL 电商业务表。
  • infra/starrocks/init.sql:StarRocks ADS 表。
  • infra/superset/dashboard-sql.md:Superset 图表 SQL 模板。
  • docs/data-source.md:数据源设计说明。
  • docs/resume.md:可写入简历的项目描述。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors