Архитектура Яндекс.Маркета вчера и сегодня — Юрий...

14
1 маркет Архитектура Яндекс.Маркета вчера и сегодня Роман Гершкович Юрий Манушкин Я.Субботник, Екатеринбург, 20.09.14

TAGS:

description

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

Transcript of Архитектура Яндекс.Маркета вчера и сегодня — Юрий...

Page 1: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

1

м а р к е т

Архитектура Яндекс.Маркета вчера и сегодня

Роман ГершковичЮрий Манушкин

Я.Субботник, Екатеринбург, 20.09.14

Page 2: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

2

Кто мы

• группа администрирования• разработки выдачи и

индексации• frontend• MBI, MBO, IR, PERS

Page 3: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

3

Про что

• подготовить данные (индексация)

• разложить данные на бекенды (раскладка)

• выдача

Page 4: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

4

Индексация: задачи

• качать предложения магазинов

• строить поисковый индекс• считать различные статистики

(#средняя цена)• проксировать другие данные

Page 5: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

5

Индексация: устройство

Page 6: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

6

Масштабирование и отказоустойчивость

• мастер + 8 воркеров (b&c)• 2 индексатора в разных ДЦ (zk)• что делать, если сломался

мастер/воркер?• расчет статистик в hadoop• MySQL => hbase (in progress)

Page 7: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

7

Раскладка: задачи• разложить данные (#поисковый

индекс)• плавный restart/reload компонент на

бекендах• устойчивость к отказу части машин

(отваливается ethernet, разваливается raid, ломается switch)

Page 8: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

8

Раскладка: устройство

Page 9: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

9

Раскладка: числа• индексация 2 часа• 200GB данных• раскладка 1 час• 500 машин• асинхронность• эффективно использовать канал

Page 10: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

10

Выдача• CORBA

– много приложений– малая и средняя нагрузка– десятки машин

• search– только поиск– большая нагрузка– сотни машин

Page 11: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

11

Поиск: числа• кластер = 8 машин• 2 процесса поиска на машине

(утилизация CPU, экономия памяти)

• RPS– mrate: 20K– serp: 8K– market: 1.5K

Page 12: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

12

Поиск: устройство

Page 13: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

13

Что дальше

• 200M предложений• обновление в реальном

времени• улучшать MIR

Page 14: Архитектура Яндекс.Маркета вчера и сегодня — Юрий Манушкин, Роман Гершкович

14

Спасибо!

Рома: [email protected]Юра: [email protected]