Демонстрация работы Авито на примере пути объявления
Пристрой
кота
Проследи путь объявления и узнай, как устроена работа Авито
Авито — это 150 000 000 актуальных объявлений: животные, квартиры, машины, резюме, техника и тысячи других вещей.
Но это не просто доска объявлений — за ней стоит работа большой команды.
-
2000сервисов
-
5500сотрудников
-
4дата-центра
-
100+релизов в день
Подать объявление на Авито проще простого, пара кликов — и готово!
Но за простыми кликами скрывается куча процессов и людей. Сейчас ты всё узнаешь.
- Москва
- Животные
- Кошки
- Не породистые
Отдам кота
Добавить в избранное
Интересуется технологиями, любит жать на кнопки.
Как продать что-нибудь ненужное?
Hужно купить что-нибудь ненужное, нужны отлаженные процессы и функциональность. Поэтому в Авито всё построено на взаимодействии горизонталей и вертикалей.
Структура Авито
Вертикали пилят уникальные фичи с тонкими настройками под определённые категории и особенности объявлений.
удалёнка
комнат
в салоне
авто
Горизонтали создают инструменты, модели и функциональность, которые используются во всех объявлениях.
Работая сообща, они пилят идеальные фичи. Например, кластер из горизонтали сделал фильтры для поиска, а вертикали добавили спецификацию.
удалёнка
комнат
в салоне
авто
Идеальные фильтры
Платформа
Путь объявления начинается с Tech Platform — глобальной технической базы, которая обеспечивает работу всей экосистемы Авито.
1. Tech Platform
Включаем сотни микросервисов
Когда человек создаёт объявление на мобильном устройстве, оно попадает в кластер Mobile.
Кластер Mobile
Гарантируем производительность мобильной разработки
Кластер Mobile фокусируется на мобильной платформе Авито: команды разрабатывают и продвигают общие архитектурные подходы, стандарты качества кода и поддержку платформенных библиотек.
Кластер предоставляет продуктовым командам инструменты для разработки, развивает CI/CD и улучшает Developer Experience.
Каждое изменение в коде запускает десятки тысяч тестов. Команды распределяют эту нагрузку между сотней билд-серверов и пишут софт для оптимизации этих процессов.
Где рекомендательное письмо?
Скоро меня будет легко найти в поиске или через рекомендации. Но прежде чем объявление попадёт туда, оно пройдёт через балансировщики, сеть, инфраструктуру и сервисы архитектуры.
Кластер Infrastructure
Строим надёжную инфраструктуру
Кластер Infrastructure развивает железную, сетевую, виртуальную и облачную инфраструктуру из тысяч серверов, сотен терабайт и тысячи инстансов БД, в которой хранятся все данные Авито: от уровня Bare Metal до уровня сервисов.
Задачи разнятся от деплоя новых инстансов и мониторинга до проектирования геораспределённых гибридных сетапов и разработки автоматизированных систем управления, aka IaaS.
Уверен, в таких делах не обойтись без планирования...
Наш план развития гибкий, хоть и продуман на годы вперёд. Мир вокруг нас меняется каждый день — а мы делаем так, что наши сервисы всегда доступны и стабильны.
А что с оптимизацией?
Исследуем всё, что может оптимизировать и упростить работу. Например, изучаем новые версии баз данных или придумываем, как автоматизировать инфраструктуру.
А вы разбираетесь в архитектуре?
Работа объявления (и моя судьба) зависят от разных сервисов. Какой из них нужен — определяет обращение к архитектуре. В подаче объявления это, например, сервисы кластера Seller X.
Кластер Architecture
Обеспечиваем стабильность и масштабируемость
Кластер Architecture развивает высокоуровневую архитектуру, чтобы с ростом компании не замедлялась скорость доставки продуктовых фич и их техническое качество.
Мы избавляем разработчиков от рутины и снижаем когнитивную нагрузку с помощью PaaS, формируем архитектурные принципы, разрабатываем сервисы для хранения данных. Словом, создаем архитектуру всего Авито.
Dev tools
- PааS CLI
- PaaS Dashboard
- libraries
- minikube
- dotenv
- reloader
- brief
Runtime tools
- Elastic
- prometheus
- jaeger
- sentRy
- harbor
Cloud, Provisioning, Runtime
- jide
- Redis Operator
- Helm
- ingress controller
- data-bus
- kafka
- navigator
- Netramesh
- VAULT
- soc
- fluentbit
- kubernetes
- calico
- Docker
- debian
- puppet
У нас 2000+ микросервисов, несколько дата-центров, больше 10 000 000 запросов в минуту — здесь важна стабильность, масштабируемость и в то же время простота и удобство для использования на множестве платформ.
»Именно здесь инициировали и распилили монолит! РАСПИЛИЛИ МОНОЛИТ! со стороны бэка и не дали ему заглохнуть:
- перевели легаси в k8s
- организовали локальное взаимодействие
- к минимуму свели важность монолита для компании
2019 год: все 1,7 млн запросов в минуту идут на монолит
2023 год: 10 млн запросов в минуту распределяются по микросервисам
МОНОЛИТ