Авито Автозагрузка: как качать миллионы фотографий в сутки, выдержать кратный рост и не умереть

Архитектуры и масштабируемость

Проектирование архитектуры

Оптимизация производительности
Рефакторинг
Архитектуры / другое
Поддержка и развитие legacy систем
Микросервисы

Доклад принят в программу конференции

Целевая аудитория

Backend-инженеры.

Тезисы

Авито Автозагрузка — продукт, через который каждый час проходят десятки миллионов объявлений. За сутки мы скачиваем миллионы фотографий с хостингов самого разного качества и стабильности.

На таком объёме данных простая, на первый взгляд, задача «скачай фото по ссылке» обрастает большим количеством проблем:
* что делать с медленными и нестабильными хостами;
* как не устроить DDoS-атаку на сервера клиентов;
* как обеспечить высокую производительность системы и не вызывать негатив у пользователей.

Если прибавить сюда резкий кратный рост продукта, то мы получим интересную историю о том, как за год мы выросли в 4 раза и полностью переосмыслили и переработали архитектуру нашей “фотокачалки”. Вместе мы пройдем путь от решения “в лоб” до решения, сумевшего ответить на все эти (и не только) вопросы.

Руководитель разработки юнита Publish Items. Отвечаю за все, что связано с размещением объявлений на Авито - от простой подачи через мобильное приложение или Desktop до таких мощных инструментов автоматизации как Авито.Автозагрузка.

Авито

На Авито каждый может найти что-то своё среди миллионов частных объявлений и предложений компаний. У них десятки тысяч RPS к бэкенду, терабайты картинок в хранилище и мощная система автоматизированной модерации на базе машинного обучения. Каждый месяц сервисом пользуется треть населения России.

Видео

Другие доклады секции

Архитектуры и масштабируемость