Your browser is not supported anymore. Please update to a more recent one.


Download Chrome

Download Firefox

Download
Internet Explorer

Download Safari

Архитектура хранения и отдачи фотографий в Badoo

27 декабря 2016 | Артем Денисов
Highload 2016

«Архитектура хранения и отдачи фотографий в Badoo», Артём Денисов (Badoo)

О чем доклад

В докладе будет рассмотрен процесс построения масштабируемой отказоустойчивой системы хранения, отдачи и обработки фотографий с точки зрения разработчика.

На примере Badoo, я расскажу о стандартном пути эволюции такого рода проектов. Детально разберу каждый этап и остановлюсь на основных сложностях и неочевидных проблемах.

Вместе с рассказом о наших решениях и подходах будут рассмотрены возможные альтернативы, их плюсы и минусы (вплоть до «мы небольшой стартап, как сделать что-нибудь похожее, но по-быстрому и на коленке»).

Основные тезисы:
— Эволюция и типичные узкие места каждого из 3-х компонентов системы (хранение, отдача, обработка).
— Как отдавать фотографии? Когда лучше использовать сторонний CDN, а когда написать свой?
— Что лучше — хранить оригинал фото и ресайзить его на лету или заранее нарезать типовые размеры?
— Как сделать эффективное кэширование? Что такое consistent hashing и зачем он нужен?
— Где лучше хранить фотографии? Локальные диски, облачные хранилища, кластерные ФС?
— Надо ли их бэкапить и как часто? Что может пойти не так?