Rb

421 views
363 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
421
On SlideShare
0
From Embeds
0
Number of Embeds
61
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rb

  1. 1. Архитектура рекламной сети Mail.Ru Александр Быков
  2. 2. Формулировка требований <ul><li>Система управления банерной рекламой должна: </li></ul><ul><li>легко встраиваться в любой проект </li></ul><ul><li>показывать банеры в любых условиях </li></ul><ul><li>минимально влиять на производительность </li></ul><ul><li>требовать минимум «железа» </li></ul><ul><li>хорошо масштабироваться </li></ul>
  3. 3. Общая схема UDP/rbstat frontend backend DB rbmap apache nginx imagine perl backend rbstatd rbserver rbimport thttpd
  4. 4. SSI фронтенд UDP/rbstat TCP/rbdata html apache mod_include mod_rb libtmpl.so librbclient.so rbmap .shtml <!--#include virtual=&quot;/rb/913&quot; --> rbclntd
  5. 5. Perl фронтенд UDP/rbstat TCP/rbdata html apache mod_perl RBclient.pm libtmpl.so librbclient.so rbmap .tmpl ##Reklama/ShowBanner(913)## rbclntd MTemplate.pm libtmpl.so
  6. 6. Perl-код # все что нужно чтобы работать с рекламой use Rbclient; # открываем mmap-файл на чтение $rb = new RBclient; # Получение банера (статиcтика по показу считается!) $html = $rb->Get(913, 0, {}); # Обращение к геобазе $region = $rb->Region('127.0.0.1');
  7. 7. Рекламный фронтенд UDP/rbstat TCP/rbdata html, js, gif, swf, ... thttpd libtmpl.so librbclient.so rbmap rbclntd GET /b1234567.gif — картинки GET /n12345678 — ссылки GET /cgi-bin/banners/get/913 — html-банер GET /cgi-bin/banners/js/913 — JS-баннер
  8. 8. Рекламный сервер активные компании (банеры) TCP/rbdata HTTP UDP/rbstat mysql rbmap.0 backend rbstatd rbserver rbimport files rbmap.1 lightserver rbdatad
  9. 9. Характеристики <ul><li>3*10 10 показов в сутки </li></ul><ul><li>2*10 8 кликов в сутки </li></ul><ul><li>20 Мбит/с статистического трафика </li></ul><ul><li>1,5 Гбит/с трафик рекламных фронтендов </li></ul><ul><li>20 000 активных компаний </li></ul><ul><li>50 000 активных банеров </li></ul><ul><li>6 рекламных фронтендов </li></ul><ul><li>3 рекламных бекенда </li></ul><ul><li>3 минуты на цикл полного обновления </li></ul>
  10. 10. Вопросы ? [email_address]

×