В программу конференции HighLoad++ принято более сотни докладов.
Хранение фотографий в Badoo — ключевая функциональность этой социальной сети, это ведь социальная сеть для знакомств. Десятки миллионов мальчиков и девочек заходят на этой портал ежедневно, чтобы посмотреть друг на друга.
С профессиональной точки зрения это очень интересно — мы рассмотрим систему хранения фотографий с двух сторон — как с программной, так и с аппаратной точки зрения. И в том и в другом случае, мы рассмотрим её в исторической ретроспективе — не только текущая архитектура, но и как инженеры Badoo к ней пришли.
Дмитрий Лихачёв прочитает доклад
В общих чертах изложен опыт и проблемы, которые мы получили в ходе эксплуатации классических мультиконтроллерных СХД. Основная тема — построение собственных хранилищ на базе общедоступных компонентов (полки, адаптеры, экспандеры, интерпозеры, диски, ЦПУ и т.д.) с потенциальной возможностью замены любого из выше перечисленного на другую модель.
Дублирование критически важных узлов в рамках одной СХД. Обзор используемых транспортов — SRP, FC, iSCSI и описание того, каким образом можно быстро адаптировать такое хранилище под один или несколько транспортов, с минимальными вложениями. Обзор ПО для реализации СХД (SCST/LIO или проприетарные решения в области Software Defined Storage ).
Автоматизация развертывания (инсталляция/управление с помощью Puppet). Тестирование перед вводом в эксплуатацию. Multipath I/O и упрощение именования экспортируемых блочных устройств. Политика составления наборов firmware для стабильной работы. Мониторинг. Расследование сбоев (Order of failure и т.п.).
Артём Денисов расскажет о программной части фото-хранилища в докладе
— Эволюция и типичные узкие места каждого из 3-х компонентов системы (хранение, отдача, обработка).
— Как отдавать фотографии? Когда лучше использовать сторонний CDN, а когда написать свой?
— Что лучше — хранить оригинал фото и ресайзить его на лету или заранее нарезать типовые размеры?
— Как сделать эффективное кэширование? Что такое consistent hashing и зачем он нужен?
— Где лучше хранить фотографии? Локальные диски, облачные хранилища, кластерные ФС?
— Надо ли их бэкапить и как часто? Что может пойти не так?
Иван Круглов
В своей текущей реинкарнации поиск в Booking.com состоит их трех подсистем:
1. сервис auto-complete и устранения неоднозначности (disambiguation) в геопозиции;
2. сервис поиска по отелям и проверки их доступности (availability);
3. система предрасчета цен.
Первые две системы — это высокопроизводительные приложения, написанные на Java. Сервис поиска хранит свои индексы в in-memory хранилище, а данные — во встраиваемой базе данных RocksDB. Логика системы предрасчета цен написана на Perl, а в качестве хранилища используется MySQL.
Приходите на мой доклад, и я расскажу вам, как эволюционировал поиск вместе с ростом компании. Мы подробно рассмотрим текущую архитектуру, и почему мы решили ее сделать именно такой. Ну и, конечно, с какими проблемами нам пришлось бороться и как мы это делали.
Любые другие вопросы можете направлять на support@ontico.ru.