Edith – Ad Decisioning Service
An ad decisioning service that picks an ad for each viewer and counts every ad view with a Flink pipeline.
Edith stands for Event-Driven Intelligent Targeting Hub. It decides which simulated ad a viewer sees, and keeps count of how often each ad was shown.
What it does
- Picks an ad for each viewer, based on interests stored in Redis
- Reads ad views from Kafka as Agnes reports them
- Counts views for each ad with a Scala and Flink job
- Handled a stress test of 10,000 ad views, and the counts added up exactly
Built with: Java, Spring Boot, Scala, Apache Kafka, Apache Flink, Redis, Docker