Разделите объявления, поиск, пользователей, медиа, чат и модерацию. Для международной системы заранее определите региональное владение данными, согласованность и требования к доступности.
Проектирование платформы, аналогичной Avito
Разделите объявления, поиск, пользователей, медиа, чат и модерацию. Для международной системы заранее определите региональное владение данными, согласованность и требования к доступности.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Разработать концепцию и архитектуру сервиса, схожего с Avito, ориентированного на международные рынки с геораспределённой инфраструктурой. Описать структуру мобильного приложения и серверной части, а также перечислить ключевые компоненты, необходимые для создания и вывода в эксплуатацию полноценной системы.
Ответ
Разделите объявления, поиск, пользователей, медиа, чат и модерацию. Для международной системы заранее определите региональное владение данными, согласованность и требования к доступности.
Объявления хранятся в транзакционной БД, поиск получает изменения через надёжные события, изображения — в объектном хранилище с CDN. Регион владельца записи помогает избежать конфликтующих multi-master-обновлений; поисковая выдача может быть eventual consistent. В мобильном приложении нужны локальный кеш, черновики, пагинация и повторяемая загрузка медиа. Для запуска важны антифрод, ограничения запросов, жалобы, наблюдаемость и восстановление из резервных копий. Начинайте с доменных границ, а не с обязательного микросервиса для каждой функции.