Baidu Contract Advertising Platform: Microservices Architecture Evolution and Best Practices
The article examines Baidu's Contract Advertising Platform, detailing its shift from a monolithic, siloed design to a DDD‑driven microservices architecture using COLA, CQRS, and layered governance, and shares best practices for handling complex B2B advertising scenarios, service iteration, and evolving business needs.
This article explores the technical challenges and architectural evolution of B-end (B2B) business systems, using Baidu's Contract Advertising Platform as a case study. The author examines how the platform transitioned from a monolithic architecture to microservices, addressing complex business scenarios involving hundreds of advertising and delivery types.
Contract Advertising Concept: Unlike real-time bidding advertising, contract advertising pre-negotiates advertising prices. The delivery process consists of four steps: inquiry → order placement → delivery → settlement. This model is more suitable for brand display advertising and involves heavier pre-delivery业务流程 compared to bidding advertising.
Business Development Phases: The platform went through three stages: 1) Rapid growth period (2011-2018) with independent delivery platforms for each product line; 2) Integration phase (2019+) seeking product consolidation and process unification through the Tianqi Platform; 3) Complex marketing scenario support (2021+) enabling integrated sales of multiple advertising products under one contract.
Architecture Evolution: The 1.0 monolithic architecture was a "chimney-style" structure where each product line operated independently, leading to information silos. The 2.0 microservices architecture adopted Domain-Driven Design (DDD) principles, dividing the system into four layers: Business Frontend, Business Middle Platform, Technical Components (PaaS), and Infrastructure (IaaS).
Technical Implementation:
Module Structure: Using COLA architecture with DDD, CQRS, and dependency inversion principles. Modules are organized by domain first, then by function.
Service Governance: Focuses on three aspects: availability (performance optimization, self-healing), observability (business entity lifecycle tracking), and anti-corruption (preventing architecture decay).
Service Iteration: Emphasizes forward compatibility, automation testing, and service mocking capabilities to achieve service autonomy and isolation.
Key Insights: The biggest technical challenge in B-end systems is managing business complexity. A good business architecture should improve delivery efficiency, operations efficiency, and evolution efficiency. The author concludes that no architecture is perfect—only one that evolves with actual business needs.
Baidu Geek Talk
Follow us to discover more Baidu tech insights.
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.