РИТ++ 2017
Зал Сан-Паулу, 5 июня, 13:00
Тезисы:
http://ritfest.ru/2017/abstracts/2652.html
BI-аналитикам необходимо собирать множество различных событий из разных источников - с сайта, мобильных устройств и микросервисов. Чем больше событий - тем лучше. Нужная шина, способная пропускать через себя миллионы событий в минуту.
Из доклада вы узнаете, как устроен Event Stream Processing (ESP) в Avito. В том числе я расскажу, какие требования были заложены на этапе проектирования, почему мы были вынуждены отказаться от fluent в пользу NSQ, как реализован единый регистр типов событий и окружений для всех команд, как экспортировать схемы событий в различные форматы, как мы боремся за эффективное расходование железа и масштабируем ESP.
Прослушав доклад, вы узнаете, как создать отказоустойчивую, масштабируемую систему сбора событий с высокой пропускной способностью.
2. Strictly ConfidentialStrictly Confidential
• Ведущий разработчик Avito.
• Занимаюсь развитием системы сбора событий.
• PhD
• Занимался развитем картографического сервиса, поисковых систем.
2
Антон Сухов
6. Strictly ConfidentialStrictly Confidential
• Есть множество источников событий (сервисы, приложения, сайт)
• Множество технологий
• Необходимо всё это агрегировать, хранить и обрабатывать
• Одно событие должно быть доступно для обработки параллельно и
асинхронно
6
Что такое система сбора событий и зачем вот это
всё
9. Strictly ConfidentialStrictly Confidential
• Монолит + микросервисы
• Fluent для логов и ESP для событий
• MongoDB в качестве временного хранилища
• CI/CD на основеTeamcity
• Kubernetes для управления контейнерами
9
Что есть
10. Strictly ConfidentialStrictly Confidential
• Система сбора событий.
• Является единой точкой входа для событий с различных источников (сайт,
мобильные платформы, внутренние сервисы)
• Является единым источником событий для дальнейшей обработки
(анализа)
• Предоставляет средство коммуникации между командами
• Речь в большей степени идет про события бизнес сущностей
• Гибко масштабируется в зависимости от нагрузки
10
Что такое ESP
15. Strictly ConfidentialStrictly Confidential 15
Проблемы
• версионирование схем событий и окружение
• различные реализации одного и того же.
• мониторинг событий
• время доставки сообщений
• нет единого источника бизнес требований
21. Strictly ConfidentialStrictly Confidential
• Нет четкого маршрута событий
• Fluent не позволяет динамически подписываться на события
• Смешение логов и событий
• Отсутствие гибкости масштабирования
21
Тяжелое наследия
28. Strictly ConfidentialStrictly Confidential
• Распределённый и децентрализованный. Без единой точки отказа
• Горизонтальное масштабирование
• Написан на GO
• Легко встраивается
• Легко настраивается
28
Почему NSQ?
61. Strictly ConfidentialStrictly Confidential 61
Снижение
нагрузки на базу
Скорость
Подписка на
событие по
шаблону
снижение времени
доставки события
Гибкое
масштабирование
62. Strictly ConfidentialStrictly Confidential
• Упростить архитектуру
• Автоматизация добавления обработки новых событий
• Полное избавление от недостатков старого наследия
62
Планы
63. Strictly ConfidentialStrictly Confidential
• Точка связи микросервисов
• Единая база событий
• Кодогенерация
• Автодокументация
• CI/CD
• Масштабирование
• Автоматизация
• Обработка параллельно и асинхронно
63
Итого
65. White Gardens Business Center, 7 Lesnaya street, Moscow, 125047, www.avito.ruWhite Gardens Business Center, 7 Lesnaya street, Moscow, 125047, www.avito.ru
Thank you for
your attention!
White Gardens Business Center, 7 Lesnaya street, Moscow, 125047, www.avito.ru