RU

HTTP-запрос закончился, а LLM ещё работает: как проектировать AI-задачи на Go

Обычный Go backend привык отменять работу вместе с HTTP-запросом. Но если пользователь закрыл вкладку посреди анализа документа, это ещё не означает…

GoGolangLLMcontext.ContextPostgreSQLbackground jobsidempotencydistributed systemsAI SaaSbackend architecture.
Habr
RU

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

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

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

Как мы заменили 30-минутный polling на IMAP IDLE и построили маленькую распределённую систему

Когда-то наш почтовый загрузчик был обычным методом с @Scheduled . Раз в 30 минут он подключался к ящикам, искал новые вложения и запускал их обрабо…

JavaSpring BootIMAP IDLEdistributed systemsPostgreSQL leasesidempotencybackpressurevirtual threadsconcurrencyat-least-once delivery
Habr
RU

Интеграция платёжных систем в high-risk вертикалях: архитектура, риски и практический опыт

Последние несколько лет я собираю платёжные интеграции для продуктов, которые банки вежливо называют «high‑risk». Под «high‑risk» обычно попада…

платежные системыэквайрингhigh-risk бизнесchargebackантифродstate machine платежейidempotencyretry логикарекуррентные платежи
Habr
RU

Idempotency keys: 5 граблей, которые мы поймали на проде

Пятница, 23:47. PagerDuty: “Платёж AmEx, провайдер вернул 5xx три раза подряд, билеты не зарезервированы.” Открываю логи – действительно три ответа…

идемпотентностьidempotencyплатежираспределённые системы.NETC#APIintent-keyrace conditionграбли