.ai1wm-reset-container{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:20px 20px 20px 0;background:rgba(0,0,0,0)}.ai1wm-reset-container .ai1wm-reset-content{display:flex;flex-direction:column;padding:20px;gap:20px;max-width:762px}.ai1wm-reset-container .ai1wm-reset-content h1{display:flex;gap:8px;align-items:center;line-height:1.2;margin:0}.ai1wm-reset-container .ai1wm-reset-content h1>img{max-height:22px;width:auto}.ai1wm-reset-container .ai1wm-reset-content p{margin:0}.ai1wm-reset-container .ai1wm-reset-content img{max-width:100%;margin:0}@media(max-width: 767px){.ai1wm-reset-container{margin-right:10px}.ai1wm-reset-container .ai1wm-reset-content{padding:0}} Что происходит, когда API Ярда даёт сбой на 3 часа – MVSoftech

Что происходит, когда API Ярда даёт сбой на 3 часа

В пятницу после 18:00 менеджеры 47 ритейл-команд внезапно обнаружили, что не могут загрузить новые SKU — корзина заказов на выходные оказалась под угрозой. За три часа до этого API ярд casino начал выдавать первые признаки нестабильности, но настоящий хаос развернулся ближе к вечеру. Мы разберём, как технические команды b2b-ритейла столкнулись с полной остановкой интеграций, и почему подготовленные к сбою мерчандайзеры потеряли в 7 раз меньше заказов. Интересный факт: у 63% вовлечённых разработчиков не было доступа к staging-окружению ярд официальный сайт, что замедлило диагностику — тестировать фиксы приходилось напрямую в production на ограниченных клиентских контурах.

15:47 — первое падение скорости ответа

Первым тревожным звоночком стал скачок response time с 900ms до 14 секунд на POST /orders. В 15:53 инженеры запустили рестарт сервиса — первую из 23 попыток за следующие 40 минут. Необычным был код ошибки 529: документация ярд официальный сайт упоминает только стандартные 5xx. Именно тут должен был сработать exponential backoff, но в настройках IAM Policy обнаружился конфликт прав. Глубинное исследование позже выявило, что 82% запросов от конкретных ритейлеров (в основном из региона ДФО) шли через прокси-сервера с устаревшими TLS-сертификатами — это создавало каскадный эффект при попытках повторных соединений. Эксперты выделили три критических временных отрезка:

  1. 15:47-15:51 — точечные сбои у 12% клиентов
  2. 15:52-16:04 — распространение на 47% трафика
  3. 16:05-16:27 — полная недоступность для 89% интеграций

Аналитика по HTTP-методам показала, что DELETE-запросы обрабатывались нормально (среднее время 1.2с), тогда как проблемы концентрировались вокруг PATCH и PUT-операций (время обработки превышало 8 секунд в 96% случаев).

Но Slack-канал поддержки молчал ещё 40 минут

При среднем времени реакции 7 минут тишина в канале поддержки насторожила сильнее, чем ошибки. 17 заявок в чате, 8 писем на почту — ни одного автооповещения о статусе инцидента. Техлид команды поставщика сантехники позднее признал: «Мы не понимали границы проблемы — это наш главный урок». Полный дамп переписки (опубликованный в рамках постмортема) показал, что:

  • Первое сообщение от инженера ярд поступило в 16:38 — через 51 минуту после первого сбоя
  • Только 23% отправивших запросы получили шаблонный ответ «работаем над проблемой»
  • 0% упоминаний о возможных workaround — критично для скоропортящихся товаров

Любопытно, что команда провизии ресторанов первой нашла обходной путь — они начали слать JSON-файлы через Telegram-бота технического директора, добиваясь 73% успешных заказов даже в пиковый период сбоя. Это стало возможным благодаря предварительной договорённости о резервном канале связи, прописанной в SLA ещё в марте 2022.

Что делать, если logger перестаёт писать события

CloudWatch «потерял» 47% метрик за период с 16:10 до 16:38. Фикс потребовал трёх действий:

  • Дублирование логов в S3 через CLI-команду aws logs copy с флагом --force
  • Правка IAM Policy для сервисного аккаунта — снимали ограничение на logs:FilterLogEvents
  • Принудительный сброс кэша метрик с одновременным уменьшением retention period с 30 до 2 дней

Бонус: на скриншоте логов видно, как инженер доедал бутерброд в момент первого timeout. Техническое расследование выявило более серьёзную проблему: 32% логов клиентов никогда не достигали CloudWatch из-за race condition в lambda Bright v3.1. Наиболее пострадавшие команды (11 из 47) применили экстренное решение — запись транзакций напрямую в DynamoDB с последующей пакетной выгрузкой (техника, отработанная ещё при интеграции с legacy-платформой Ozon 2018 года). Удивительно, но старый метод дал 89% coverage против стандартных 54% при обычном workflow.

Ручной ввод против автоматического ретрая: кто терял меньше

Команды с дублирующими Google Sheets потеряли 1.8% заказов против 12% у «автоматизированных» коллег. Разрыв в 6.7 раз возник из-за non-idempotency операций: 9 идентичных запросов с одним ContextID приводили к дублям в базе. Ключевая цифра: ручной контроль снижал потери на 68%. Глубже анализируя данные:

Фактор Автоматика Ручной ввод
Среднее время обработки заказа 47с 8м 12с
Ошибки валидации 14% 3%
Дубликаты в БД 22 записей 1-2 записи
Postman-коллекции как бэкап 0% использования 63% команд

Показательный кейс: сеть химчисток «Кристалл» за 45 минут вручную завела 207 заказов через личный кабинет поставщика (те самые «дырки» в API), автоматизированные системы конкурентов за тот же период выполнили только 83 транзакции с 19% ошибок. Разница в продуктивности достигла 2.87× при схожих стартовых условиях.

12% недельного ARR испарились у трёх поставщиков

Особенно пострадали поставщики фреш-товаров. TWAP для молочки с маржой 3.9% показал абсолютно нерелевантные цифры — при простое в 2 часа убыток составил ₽2.4 млн. Причина: скоропортящийся товар не «растягивается» во времени, как техника. Хронология потерь:

«17:30 — первый звонок от ритейлеров о пропавших позициях, 18:15 — отгрузки молока застряли без электронных накладных, 19:40 — ручной развоз образовывал очередь из 14 машин» (из отчёта логиста «Молочного союза»)

Парадоксально, но fashion-ритейлеры выиграли от ситуации: 28% перенеслили заказы на понедельник с повышением среднего чека на 17% за счёт «горячих» коллекций. Данные по сегментам:
• Продукты: ₽4.1 млн прямых потерь + ₽700 тыс. утилизации
• Электроника: ₽870 тыс. отложенного спроса
• Хозтовары: нейтральный эффект (±2% к плану)

После инцидента мониторинг переехал в Grafana

Неделю спустя 82% команд внедрили:

  • Алёрты на SLA 99.5% с привязкой к Health Check endpoint (старый порог в 98% признали неадекватным)
  • Композитные дашборды с метриками из 4 источников: CloudFront, API Gateway, Lambda и внешнего Pingdom
  • Фикс известной уязвимости в Idempotency Key — теперь генерируется на стороне клиента по алгоритму SHA-3

Главный урок: даже API ярд официальный сайт требует стратегии graceful degradation. В отчётах отмечают рост использования:
+317% для SQS в качестве буфера
+194% активности в Sandbox API
89% команд добавили fallback-экран в личные кабинеты
Конкретно поставщики провизии договорились о выделенном канале связи с приоритезацией заказов — подобные меры снизили риски новых сбоев на 43% по оценкам COO «Фрешмаркета».