确保广告实时流媒体服务的高可用性
Sreshta Vijayaraghavan | Tech Lead, Ads Indexing Platform
Sreshta Vijayaraghavan | 技术负责人,广告索引平台
The Pinterest Ad Business has grown multi-fold in the past couple years, with respect to both advertisers and users. As we scale our revenue, it becomes imperative to:
在过去的几年里,Pinterest广告业务在广告商和用户方面都有了成倍的增长。随着我们的收入规模的扩大,当务之急是。
- Distribute advertiser spend smoothly over the course of the day
- 在一天中顺利分配广告商的支出
- Avoid over-spending beyond the advertiser’s daily / lifetime budget
- 避免超出广告商的每日/终身预算的过度消费。
- Maximize advertiser value
- 最大限度地提高广告商的价值
Background
背景介绍
To meet these goals, we maintain 3 real-time streaming services with low latency and high uptime requirements. Here’s an overview of how they work together:
为了实现这些目标,我们维护了3个具有低延迟和高正常运行时间要求的实时流媒体服务。下面是它们如何协同工作的概述。
Fig. 1. Simplified overview of the Ad systems interaction. The Ads Server retrieves ads and sends insertion / billable events to the Spend Aggregator, which sends the attributed Spend Events to the 3 real-time streaming services.
图1.广告系统互动的简化概述。广告服务器检索广告,并将插播/计费事件发送到花费聚合器,后者将归属的花费事件发送到3个实时流服务。
- Ads Server: a set of services that serves the most relevant Ads to the user and logs the associated insertion and billable events received such as ad impressions and ad actions
- 广告服务器:一组服务,向用户提供最相关的广告,并记录相关的插入和收到的计费事件,如广告印象和广告行动。
- Spend Aggregator: a Flink based streaming service that receives a stream of insertions and billable events in real time, aggregates them, and emits a stream of spend events attributed to the respective advertisers
- 花费聚合器:一个基于Flink的流媒体服务,实时接收插入和计费事件流,将其聚合,并发出归属于各广告商的花费事件流。
- Three KafkaStream based Real-Time Streaming Services:
- 三个基于KafkaStream的实时流服务。
- 1) Budget Enforcer: prevents over-spending beyond the advertiser’s daily / lifetime budget. Receives a real time stream of spend events and stops advertiser spend based on their daily / lifetime budgets and current cumulative spend
- 1) 预算执行者:防止超出广告商的每日/终身预算的过度消费。接收实时的支出事件流,并根据广告商的每日/终身预算和当前的累计支出停止其支出。
- 2) Pacer: ensures a_dvertisers spend smoothly through the course of the day_. Receives a real time stream of s...