Highload++ 2017 завершён!

Профессиональная конференция разработчиков высоконагруженных систем

СКОЛКОВО, Москва 7 и 8 ноября

11-я ежегодная конференция для разработчиков highload-систем, которая соберет   2 700 участников из разных регионов России и мира. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей.

Программа охватывает такие аспекты веб-разработок, как архитектуры крупных проектов, базы данных и системы хранения, системное администрирование, нагрузочное тестирование, эксплуатация крупных проектов и другие направления, связанные с высоконагруженными системами.

Обновления данных в поиске за секунды. Быстробновляемые атрибуты в поисковом движке Ozon
Архитектуры и масштабируемость

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

Старший разработчик поисковой платформы Ozon, занимается созданием новых технических фич в движке, тулингом для коллег по команде. Состоит в Java-комитете компании. Автор анализатора поискового индекса, продвинутого парсера запросов, быстрого хранилища полей в поисковом индексе.

Основные языки: Java, Rust.

Фанат опенсорса, контрибьютил в ряд проектов, включая Lucene и OpenJDK. Топит за строгую типизацию и максимальную статическую верифицируемость кода.

В свободное время занимается проектами, среди которых биндинги для Flipper Zero и альтернативная модульная реализация игрового сервера.

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

Тезисы

Поисковый движок в Ozon — сложная распределённая система, построенная на основе Apache Lucene. Наше решение позволяет эффективно обрабатывать более десятка тысяч разреженных полей в поисковом индексе, осуществляя поиск по миллионам документов при тысячах RPS.

Обычно атрибуты документов обновляются редко (название, описание, категории товара), вследствие чего моментальность доставки таких обновлений до поискового движка не является обязательной. Однако есть и такие свойства (количество на складах, цена), обновления в которых происходят довольно часто и для которых важно как можно быстрее отражать эти изменения при обработке новых запросов. Для реализации этой возможности мы разработали своё собственное «быстрое хранилище».

В этом докладе будет рассказано о том, что потребовалось от системы, поддерживающей быстро обновляемые поля; с какими сложностями мы столкнулись на пути разработки решения, одновременно эффективного, отказоустойчивого и совместимого с Lucene; к какой архитектуре пришли; а также какие планы у нас есть по развитию этой технологии.

Java
,
Поисковые системы
,
Базы данных / другое
,
Отказоустойчивость
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
,
Надёжность продакшена
,
Поддерживаемый код
,
Совместное планирование и разработка
,
Оптимизация
,
Хранилища
,
Обработка данных
,
Типовые ошибки

Другие доклады секции
Архитектуры и масштабируемость

Rambler's Top100