Skip to content
makqai

AdPad — high-throughput ad server

A multi-process, shared-memory C/C++ socket server on Linux handling 1.5M+ requests per minute on five 24-core servers, followed by a re-architecture of the eZanga.com PPC platform.

Years
2015–2018
Organisation
CentricSource
Role
Team Lead / C++ Engineer, then Software Architect

Context

AdPad is CentricSource’s ad server, serving 200K+ active campaigns.

What I built and led

  • A multi-process, shared-memory C/C++ socket server on Linux handling 1.5M+ requests per minute on five 24-core servers.
  • Custom in-memory structures: hash trees, radix trees and a RAM database.
  • Later, as Software Architect, the re-architecture of the eZanga.com PPC platform: a service-oriented architecture, multi-threaded PHP, a Redis query layer, and MongoDB replication between MySQL and the query servers.

How it works

Worker processes share campaign data through shared memory, so every process reads the same in-memory structures without copying or locking a database on the hot path. Hash and radix trees keep lookups predictable under load.

Stack

C and C++ on Linux; shared memory and sockets; PHP, Redis, MongoDB and MySQL in the PPC platform.