RU

Доставка вебхуков: повторы, дубли и ещё три источника проблем

Получатель записал заказ в базу, но соединение оборвалось до того, как отправитель получил ответ. Повторить вебхук — рискнуть вторым заказом, не пов…

вебхукиwebhooksидемпотентностьretryexponential backoffhmacssrfcircuit breakerочередиphp
Habr
RU

LLM предлагает, код исполняет: как разделить reasoning и side effects в production-пайплайне

Если ваша LLM вызывает API и выполняет внешние действия, обычный retry после timeout может создать дубль или оставить систему в неизвестном состояни…

LLMAI-агентыproductionархитектура LLM-системside effectsidempotencyretrystate machinehuman-in-the-loopobservability
Habr
RU

Повторная обработка сообщений в Kafka Consumer

Привет! Меня зовут Дмитрий Михеев, я ведущий разработчик в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканально…

kafkaapache-kafkakafka-consumerretryповторная-обработкаидемпотентностьвысоконагруженные-системыjava
Habr
RU

Outbox-паттерн для мобильного мессенджера: как Telegram не теряет сообщения и почему ваш код их теряет

Это седьмая статья про инженерные решения в ONEMIX. Тема узкая, но болезненная для каждого кто делал мобильное приложение с отправкой сообщений или…

react nativeмессенджерoptimistic updateoutboxмобильная разработкаархитектураtelegramасинхронностьобработка ошибокretry
Habr
RU

Postgres advisory locks на Neon ломаются от TCP-сброса. История четырёх фиксов retry-логики

Расскажу про четыре production-инцидента на одном куске кода за десять дней. В каждом я думал, что разобрался. Закончилось тем, что я выкинул pg_adv…

postgresqladvisory lockneonserverlessretryидемпотентностьdistributed lock