O
O
onlymega2015-05-18 12:10:58
Database
onlymega, 2015-05-18 12:10:58

How to design a scalable system for counting banner impressions?

Good day.
I'm trying to design a scalable system for counting banner impressions:
The banner sends its encoded ID via JS to the server, the server saves the banner ID in the database and updates the field with the number of impressions. As a result, it should be possible to view the statistics of impressions of each banner hourly. The approximate number of views is 5000/sec.
Are there ready-made cloud solutions or does it make sense to raise your servers with a load balancer.
Thanks in advance!

Answer the question

In order to leave comments, you need to log in

3 answer(s)
S
sim3x, 2015-05-18
@onlymega

Turnkey solution - use a third-party service for advertising
key points

5000/sec
pretty weak flow. taking into account the fact that it is not necessary to make an auction of announcements
hourly display statistics for each banner
one more simplification
General scheme:
nginx in the form of giving static declarations
nginx writes statistics to logs
logs are collected in the database every half an hour or written directly over the network to the server with logs
js can simply make a get request, which will fall into the log
when there is no one nginx for distribution enough - add servers to return statics
, if necessary, add nginx in front of them as a loadballancer.
The main question in such systems is the ad auction - what to show this user on this site. And that's where all the fun begins

M
Melkij, 2015-05-18
@melkij

driver?

P
Puma Thailand, 2015-05-18
@opium

This lasts for about 16 servers with goodies, you seem to have a simpler task and you can get by with less.
We are working on https://www.adspyglass.com/
Of the open systems, as far as I remember, there is still only one openX

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question