RU

Spec-driven development в микросервисах, часть 3: archspec investigate — исследование фичи до кода

Третья, заключительная статья из цикла. Часть 1 — где LLM теряет межсервисный контекст и почему локальных спек недостаточно. Часть 2 — archspec как ко…

spec-driven developmentai-assisted developmentclaude codellmмикросервисыархитектура микросервисовservice contractsoutbox patternидемпотентностьcode review ai
Habr
RU

Весь «вечно живущий» мир моей MMORPG держится на одной строке в кроне

Два года по вечерам в одиночку пилю текстовую MMORPG в Telegram — мрачный остров, по которому ходят выжившие. В прошлой статье рассказал, как заброшен…

mmorpgtelegram botcodeigniterphpgamedevсоло-разработкаигровой циклидемпотентностьтекстовая играcron
Habr
RU

Как спроектировать REST API без ошибок: 3 задачи с разбором

Как на собеседовании отличить системного аналитика, который учил REST по учебнику, от того, кто реально проектировал API? В статье…

REST APIпроектирование APIHTTPсистемный аналитикверсионирование APIидемпотентностьдиагностика навыков
Habr
RU

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

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

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

Реализация Statefull команд в Telegram API

Java Telegram API обманывает разработчиков дубликатами запросов при отключении интернета? Мы команда разработки телеграмм ботов, которая смогла п…

telegram apitelegram api manualtelegram api requeststatelessstatefullrace conditionидемпотентностьидемпотентность запросов
Habr
RU

Ecommerce на Laravel, или как мы собрали headless-слой для фронтов (6 часть)

В этой части собираем headless-слой для фронтов: Gateway, композицию API, SDK, ETag, SSR, идемпотентность и единые правила работы с запросами.  П…

headlesslaravelбитрикспрограммированиевеб-разработаgatewayapisdkидемпотентностьssr
Habr
RU

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

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

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

Очереди в микросервисах: 5 ошибок, которые приводят к дублям и потерям

Почему добавление второго consumer«а в очередь может привести к двойным списаниям? Разбираем на реальном кейсе: как один Topic сто…

очереди сообщениймикросервисыброкеры сообщенийRabbitMQKafkaJMSpublish-subscribecompeting consumersидемпотентностьDead Letter Queue
Habr
RU

Kafka, таксономии и удаление событий: как исключить обработку неактуальных сообщений

В рамках задачи по обработке XBRL-таксономий возникло требование: если таксономия удалена до обработки событий расчёта кэша, эти события не должны при…

kafkaspring bootSpring Kafkajavaмикросервисыtombstone objectsCompacted topiclog compactionconsumerидемпотентность
Habr
RU

Migration toolkit для 1С Битрикс: переносим аккаунт между инстансами через crm.*.list + идемпотентность по ORIGINATOR_ID

В предыдущей статье ( как отдавать лиды из Next.js в 1С Битрикс ) я показывал outbound‑интеграцию: сайт пишет лид к себе…

bitrix24миграция CRMREST APIидемпотентностьORIGINATOR_IDNode.jsTypeScript
Habr
RU

[Перевод] Паттерны событийно-ориентированной архитектуры в облачном банкинге: что работает, а что ломает систему

Событийно-ориентированная архитектура часто выглядит как аккуратная схема с брокером, сервисами и красивыми стрелками между ними. В продакшене всё про…

event-driven architectureedacloud-nativeбанковские системымикросервисыKafkaoutboxinboxидемпотентность