lenec ru

← все теги

#messaging

5 постов

Dead letter queue: куда складывать сообщения, которые не получилось обработать

Сценарий, который я разбирал не раз: consumer получает событие OrderCreated, обработчик падает с NullPointerException, retry-механизм брокера повторяет доставку. Раз, два, тысячу раз. Consumer-под…

83 13K
Алексей Морозов

Exactly-once vs at-least-once: что реально гарантируют брокеры

Exactly-once delivery — самый продаваемый и самый недопонятый термин в распределёнке. На презентациях производителей брокеров он звучит как магия. На проде через полгода работы инженеры обнаруживают,…

269 19K
Алексей Морозов

Outbox pattern без Kafka: реализация на RabbitMQ и NATS

Outbox pattern в учебниках всегда показывают на Kafka. Это создаёт ложное впечатление, что без Kafka паттерн «не настоящий». На самом деле outbox решает универсальную проблему — атомарность записи в…

430 15K
Алексей Морозов

Inbox pattern: как не обработать одно событие дважды

Outbox pattern закрывает половину задачи: producer гарантирует, что событие будет опубликовано хотя бы раз. Но «хотя бы раз» означает «возможно, дважды». На стороне consumer'а это превращается в…

243 17K
Алексей Морозов

Redis Streams vs Pub/Sub: выбираем механизм обмена сообщениями

Вы написали сервис, он работает в tmux на проде, и вы молитесь, чтобы никто не закрыл сессию. Знакомо? Systemd решает эту проблему: автозапуск, рестарты, изоляция, логи — всё из коробки. Нужен только…

0 14K
backend_diary