Design and Evolution of Baidu Short‑Video Push System
This article details the architecture, data flow, module responsibilities, and successive optimizations of Baidu's short‑video push system, covering personalized timing estimation, user‑group management, frequency‑control redesign, and protobuf‑based compression to handle billion‑scale traffic efficiently.
The short‑video Push system supports multiple Baidu apps (e.g., Haokan Video, Live, Du Xiao Shi) and provides personalized, operational, and real‑time notifications to billions of active users, aiming to increase engagement and retention.
System Overview – The platform consists of a material center, user center, personalized recall, realtime‑API, frequency‑control (UFC), preprocessing, sending, receipt, and control center modules. Tasks are created nightly, pre‑processed half an hour before delivery, and dispatched through a cloud Push middle‑platform to vendor agents or long‑link services.
Data Flow – User behavior logs are ingested into a data center, which generates material tables and user sets. Strategies select materials, create push tasks, and the system writes results to Redis queues. The sending service prioritizes tasks and forwards them to vendor agents, while receipt services log delivery for monitoring and analytics.
Iterative Optimizations
1. Personalized Push Timing – By analyzing user activity windows over the past seven days, the system adjusts the first and last daily push times per user, improving click‑through rates.
2. User‑Group Service – Replaces physical‑machine scripts with bitmap‑based user groups managed via the AMIS platform, enabling logical expressions, bitmap operations, and efficient bitmap‑to‑user‑ID mapping stored in Redis.
3. Frequency‑Control Service (UFC) – Introduces dynamic scaling with consistent hashing, per‑user and per‑type limits, and whitelist handling, reducing resource contention and allowing seamless node expansion.
4. Protobuf Compression – Replaces JSON with Google Protocol Buffers for frequency‑control data, achieving ~2× faster serialization and 75% Redis storage savings.
Conclusion – A well‑designed push system combines robust backend architecture, precise user modeling, and efficient data handling to deliver timely, relevant notifications at massive scale, ultimately driving higher user activity and retention.
Top Architect
Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.