Escrow-сервис для маркетплейса в ВКР: архитектура защиты сделок и метрики доверия
Поддомен: Backend/Frontend → роль: Архитектор ПО
Введение: почему кейс «Авито Услуги» — это готовая тема для защиты
25 марта 2026 года «Авито Услуги» запустили тест партнёрского сервиса, который меняет привычную логику заказа: деньги заказчика больше не уходят исполнителю напрямую, а проходят через промежуточный расчётный контур с фиксацией этапов работ. По сути, платформа строит escrow-механику — защиту сделок в сегменте, где раньше стороны договаривались «на доверии».
Для выпускника ИТ это не новость из мира бизнеса, а конкретный инженерный срез: конечный автомат сделки, идемпотентные платежи, антифрод, разрешение споров, вебхуки и аудит. Такой кейс отлично ложится в ВКР — здесь есть и проектирование, и реализация, и измеримая эффективность. Ниже разберём, как превратить его в защищаемую работу: от формулировки задач до схем по ГОСТ 34 и метрик по ISO/IEC 25010.
FAQ: что чаще всего спрашивают перед стартом
1. Нужен ли доступ к реальному API Авито?
Нет. Публичного sandbox для маркетплейсной escrow-логики нет, и вуз не требует реального трафика. Строите собственный сервис-аналог: платежный шлюз мокается (YooKassa/Tinkoff sandbox подходит для практики), схемы взаимодействия описываете по OpenAPI 3.1. В тексте честно указываете: «прототип воспроизводит архитектурный паттерн, а не интеграцию с промышленной платформой».
2. Какая сложность реализации считается «достаточной» для ВКР?
Разумный минимум: сервис заказов + сервис платежей + сервис споров, PostgreSQL, брокер (Kafka/RabbitMQ), Saga-хореография, вебхуки, метрики. Если успеть только монолит — тоже защищаемо, но тогда обязательно обосновать выбор и показать план миграции на сервисы (это как раз хороший материал для главы 2).
3. Где брать статистику для расчёта эффективности?
Искусственный нагрузочный профиль: генерируете 10–50 тыс. сделок через Locust/k6, фиксируете p95 latency, долю успешных эскроу-переходов, количество спорных кейсов, TCO инфраструктуры. Метрики группируете по атрибутам ISO/IEC 25010: производительность, надёжность, безопасность, сопровождаемость.
4. Как оформить схемы, чтобы нормоконтроль пропустил?
Диаграммы последовательности и компонентов — по ГОСТ 34.201/19.201, с рамкой, основной надписью и перечнем элементов. C4-модель рисуйте в Structurizr, UML — в PlantUML с экспортом в PDF. Не забудьте листинг в приложении и ссылку на него в тексте.
Темы ВКР, которые вырастают из этого кейса
- «Разработка сервиса защищённых расчётов для маркетплейса услуг».
Актуальность: Авито тестирует escrow — это подтверждает рыночный запрос на снятие риска с обеих сторон сделки.
Цель: спроектировать и реализовать подсистему escrow с этапной фиксацией работ.
Задачи: анализ моделей escrow и антифрода; проектирование конечного автомата сделки; реализация API и вебхуков; нагрузочное тестирование и оценка SLA.
Структура: гл.1 — обзор escrow-паттернов, ISO/IEC 25010; гл.2 — C4-модель и реализация; гл.3 — тесты, метрики, сравнение сценариев.
- «Метрики доверия маркетплейса: оценка escrow-механики».
Актуальность: доверие становится измеримой инженерной величиной — доля завершённых сделок, время разрешения спора.
Цель: сформировать систему метрик и прогнозную модель риска сделки.
Задачи: подбор KPI; сбор синтетических данных; модель скоринга отмен; визуализация дашбордов.
Структура: гл.1 — теория метрик доверия; гл.2 — pipeline сбора и модель; гл.3 — валидация, A/B-имитация.
- «Разрешение споров в escrow-сделках: автоматизация арбитража».
Актуальность: сервис Авито меняет логику расчётов — значит, появляется пласт спорных кейсов, где нужна сортировка и SLA.
Цель: реализовать сервис арбитража с приоритизацией обращений.
Задачи: анализ типов споров; проектирование workflow (BPMN); реализация очередей и SLA-алертов; оценка ускорения.
Структура: гл.1 — анализ практик арбитража; гл.2 — проектирование и код; гл.3 — метрики времени разрешения.
Как встроить материал статьи в главы работы
Глава 1. Теория и обоснование
Статья CNews — ваш «якорь актуальности». Опишите переход маркетплейсов от «прямого» расчёта к escrow, приведите существующие модели (условное депонирование, поэтапная оплата, депонирование с арбитражем). Нарисуйте компонентную C4-диаграмму второго уровня: клиент → API Gateway → Order Service → Escrow/Payment Service → Ledger → Kafka. Каждый контейнер прокомментируйте с точки зрения ISO/IEC 25010.
Глава 2. Проектирование и реализация
Здесь скелет — конечный автомат сделки. Опишите состояния и переходы: CREATED → FUNDED → IN_PROGRESS → DELIVERED → RELEASED и ветки DISPUTED → REFUNDED. Замените «жёсткую» авторизацию на саги. Ниже — псевдокод идемпотентного эндпоинта, который спасёт вас же на защите от вопроса «а если вебхук придёт дважды?».
POST /api/v1/escrow/{dealId}/fund
Headers: Idempotency-Key: uuid, X-Signature: HMAC-SHA256
def fund_deal(deal_id, idem_key, amount, signature):
verify_hmac(signature, raw_body) # OWASP API Security
if ledger.exists(idem_key): # защита от повторов
return ledger.get(idem_key), 200
with transaction():
deal = deals.lock_for_update(deal_id) # пессимистичная блокировка
if deal.state != "CREATED":
raise InvalidTransition(deal.state)
tx = payments.charge(amount) # внешний шлюз
ledger.save(idem_key, tx.id)
deal.transition_to("FUNDED") # event-sourcing
kafka.publish("escrow.funded", deal.id) # saga choreography
return tx, 201
Глава 3. Тестирование и метрики
Минимум, который ждёт комиссия: нагрузочный сценарий k6, тесты на идемпотентность, fault-injection (падение брокера, ретрай платежа), дашборд в Grafana с экспортом метрик через OpenTelemetry. Считайте:
| Метрика | Как считать | Норматив |
|---|---|---|
| p95 latency fund | histogram OTel | < 700 мс |
| Доля успешных сделок | released / total | ≥ 97% |
| MTTR разрешения спора | avg(closed - opened) | ≤ 48 ч |
| Duplicate rate | idem_key коллизии | 0 |
| TCO прототипа | VPS + брокер + БД | обосновать |
Чему вы научитесь
- Проектировать отказоустойчивые саги для денежных потоков.
- Гарантировать идемпотентность и корректность вебхуков.
- Считать метрики по ISO/IEC 25010 и защищать их перед комиссией.
- Оформлять C4/UML-диаграммы по требованиям ГОСТ 34.
- Обосновывать TCO и SLA прототипа без «маркетингового» тона.
- Задачи в введении дословно совпадают с выводами по главам.
- Все схемы имеют подписи, нумерацию и ссылки в тексте (ГОСТ 34.201).
- Метрики содержат формулу, единицу и источник данных.
- Листинг кода вынесен в приложение, в тексте — только ключевые фрагменты.
- Проверена уникальность текста и корректность цитирования источника CNews.
- Идемпотентность и обработка ошибок платёжного шлюза описаны явно.
- Список литературы оформлен по ГОСТ Р 7.0.100-2018.
1. «Платёжка на словах». Студент рисует escrow, но не описывает поведение при двойном вебхуке или таймауте. В кейсе Авито именно смена логики расчётов — центральный элемент, поэтому обработку ретраев нужно показать кодом, а не абзацем.
2. Метрики без базовой линии. «Стало быстрее» — не аргумент. Нужно сравнение: до (прямая оплата) и после (escrow) на одном нагрузочном профиле.
3. Игнорирование ИБ. Подпись вебхуков, HMAC, ограничение прав ledger-сервиса, ротация ключей — обязательный минимум по OWASP API Security Top 10, иначе на защите это станет первым вопросом.
Источник: На платформе «Авито» тестируют сервис по защите сделок в сегменте услуг (опубликовано 2026-03-25)