广告体系架构简单整理
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/广告体系架构简单整理/