Уральская конференция веб-разработчиков
Регистрация:

Доклады

Как мы переписали поисковый движок и выкинули половину серверов.

500 000 поисков в день, до 10 поисков одновременно в пике. Каждый поиск - опрос до 40 сервисов, ответ одного сервиса - от 200 KB до 2 MB JSON или XML. Кеширование невозможно, выдача постоянно меняется. Парсинг и мерджинг 13 GB JSON/XML в минуту.
 
До:
Ruby on Rails приложение, 1 инстанс: 350 MB, обслуживание 1 поиска одновременно, 10 секунд на старт приложения.
 
После:
SOA архитектура, поисковые цепочки, состоящие из отдельных юнитов, описанные DSL. Python3 с tornado, 1 инстанс: 250 MB, до 10 поисков одновременно, 0.1 секунды на старт.
 
Profit:
  • Простота разработки.
  • Гибкое конфигурирование на лету в модном веб-интерфейсе.
  • Отказоустойчивость (независимость от MySQL в т.ч.)
  • Сокращение количества серверов в 2 раза (не самое главное и не цель вовсе, но звучит неплохо)
 

Social comments Cackle

}
/Yandex.Metrika counter -->
Панель управления сайтом
Компания UWDC...