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

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

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

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

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

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

Backend-инженеры.

Тезисы

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

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

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

Тимлид в Авито Автозагрузка. Занимается развитием различных инструментов автоматизации для продавцов. Вместе с командой строит высоконагруженные системы, способные переваривать сотни миллионов событий каждый час.
Основные языки — Python и Go. В Go пришел из мира Python, уже в Авито.

Авито

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

Видео

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

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