广告体系架构简单整理

image-20241112110051158

1. 数据来源

  • H5 和 App:通过 JavaScript 和 SDK 实现用户行为数据的埋点采集。
  • 广告平台:通过 API 与广告平台进行交互,采集广告相关数据。
  • HTTP:其他通过 HTTP 接口传输的数据。对接广告平台(媒体)API获取投放的广告的报表数据,或者MMP的webhook回调等等

2. 数据采集

  • Kafka:作为消息队列,用于存储和传输采集到的用户行为数据。Kafka 负责高效处理来自多个来源的大量实时数据。

3. 大数据处理

  • 实时计算 (Flink)
    • Flink 负责从 Kafka 获取用户行为数据流,对数据进行实时清洗和处理以及用户打标签
    • 将处理后的数据持久化到数据库(例如 MySQL)。
  • 归档与数据存储
    • 将历史数据归档到 Hive,以便进行长期存储和查询、以及分担实时库的查询压力。
  • 离线计算 (Spark)
    • 使用 Spark 编写 SQL 作业,通过小海豚调度系统来执行。
    • 离线计算用于分析用户画像,整合和处理用户行为数据。

4. 数据与服务监控

  • Prometheus:用于监控系统状态,收集和处理监控指标。api的调用的成功率,kafka的堆积情况等等。
  • Logstash/Filebeat:用于日志收集和转发,将日志数据发送到 Elasticsearch。系统的报错日志等等
  • Elasticsearch:用作存储和检索日志数据的搜索引擎。
  • Grafana 和 Kibana:用作数据可视化工具,分别连接到 Prometheus 和 Elasticsearch,提供实时的监控图表和分析视图。

5. 数据展示

  • Redash:用于数据展示和报表生成,帮助分析和可视化数据。
  • Presto:访问多种类型的数据源在大规模数据集上进行快速、交互式的查询

总结

整个系统架构展示了如何从不同数据来源采集用户行为数据,并通过流式计算(Flink)和批处理(Spark)进行数据清洗、处理和分析。实时数据被用于快速响应,而离线数据则被用来构建详细的用户画像。监控和可视化层面,通过 Elasticsearch、Grafana 和 Kibana 等工具来进行数据和服务的监控。Redash 最终将分析结果以用户友好的方式展示。


广告体系架构简单整理
https://cason.work/2024/11/12/广告体系架构简单整理/
作者
Cason Mo
发布于
2024年11月12日
许可协议