Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Максим Пугачев

Максим Пугачев
IPONWEB
Современная архитектура платформы RTB

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Максим Пугачев

  1. 1. Современная архитектура платформы RTB Максим Пугачев IPONWEB
  2. 2. IPONWEB • Cloud-based SaaS model
  3. 3. IPONWEB • Cloud-based SaaS model • Платформа — набор базовых компонентов и сервисов с возможностью кастомизации под каждого клиента
  4. 4. u-Server u-Workflow u-Optimize u-ETL u-Slicer Graphite u-Predict u-Audience Dedicated Shared EXT/ClientEXT/Client
  5. 5. u-Server • Проприетарный HTTP сервер, написанный с нуля около 10 лет назад
  6. 6. u-Server • Проприетарный HTTP сервер, написанный с нуля около 10 лет назад • Lua в качестве бизнес-логики
  7. 7. Архитектура • Многопоточность + libevent
  8. 8. Архитектура • Многопоточность + libevent • Разделение потоков на типы: Main, Communication, ServiceWorker, Worker
  9. 9. Архитектура • Многопоточность + libevent • Разделение потоков на типы: Main, Communication, ServiceWorker, Worker • Main: все ”тяжелые” задачи на перезагрузку/обновление данных, запись данных на диск и т.п.
  10. 10. Архитектура • Communication: общение с внешним миром (HTTP, Database), постановка задач для ServiceWorker/Worker
  11. 11. Архитектура • Communication: общение с внешним миром (HTTP, Database), постановка задач для ServiceWorker/Worker • ServiceWorker: обслуживание ”административных” запросов
  12. 12. Архитектура • Communication: общение с внешним миром (HTTP, Database), постановка задач для ServiceWorker/Worker • ServiceWorker: обслуживание ”административных” запросов • Worker: бизнес-логика
  13. 13. Архитектура • Приоритеты задач: minor, normal, urgent, critical
  14. 14. Minor Перезагрузка конфигурации Перезагрузка Lua sandbox Shutdown
  15. 15. Minor Перезагрузка конфигурации Перезагрузка Lua sandbox Shutdown Normal MongoDB API Новая Lua coroutine
  16. 16. Minor Перезагрузка конфигурации Перезагрузка Lua sandbox Shutdown Normal MongoDB API Новая Lua coroutine Urgent MongoDB API (find + next) HTTP request Timeouts (HTTP + MongoDB) Timers
  17. 17. Minor Перезагрузка конфигурации Перезагрузка Lua sandbox Shutdown Normal MongoDB API Новая Lua coroutine Urgent MongoDB API (find + next) HTTP request Timeouts (HTTP + MongoDB) Timers Critical MongoDB reply HTTP response
  18. 18. Архитектура • Приоритеты задач: minor, normal, urgent, critical • coroutines (Lua thread) и yield запросы
  19. 19. Worker Worker Worker Worker Sandbox Sandbox Sandbox Sandbox
  20. 20. Sandbox RunningWaitingYield coroutinecoroutinecoroutine new request
  21. 21. Архитектура • Приоритеты задач: minor, normal, urgent, critical • coroutines (Lua thread) и yield запросы • Гарантия времени выполнения запроса
  22. 22. Архитектура • Приоритеты задач: minor, normal, urgent, critical • coroutines (Lua thread) и yield запросы • Гарантия времени выполнения запроса • Sandboxing
  23. 23. Выводы • Не бойтесь менять архитектуру в процессе разработки. Это неизбежно
  24. 24. Выводы • Не бойтесь менять архитектуру в процессе разработки. Это неизбежно • Ограничивайте свободу действий разработчика и/или пользователя, если это необходимо. Даже если они с этим не согласны
  25. 25. Выводы • Не бойтесь менять архитектуру в процессе разработки. Это неизбежно • Ограничивайте свободу действий разработчика и/или пользователя, если это необходимо. Даже если они с этим не согласны • Заимствуйте опыт коллег из других областей
  26. 26. Вопросы? pugachev.mm@gmail.com pugachev.maxim

    Als Erste(r) kommentieren

    Loggen Sie sich ein, um Kommentare anzuzeigen.

Максим Пугачев IPONWEB Современная архитектура платформы RTB

Aufrufe

Aufrufe insgesamt

190

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

87

Befehle

Downloads

3

Geteilt

0

Kommentare

0

Likes

0

×