RU

Необратимая операция: как печатать чек, если непонятно, напечатался ли он

Фискальный накопитель печатает чек — и связь обрывается до того, как пришёл ответ. Напечатался он или нет, узнать неоткуда: обе ситуации выглядят дл…

архитектураидемпотентностьотказоустойчивостьфискализацияrabbitmqконсистентность
Habr
RU

Избавляемся от потерянных событий в микросервисах — как я написал свой Spring Starter для Outbox/Inbox

Всем привет! Меня зовут Григорий, и недавно при разработке своего микросервисного приложения я нашёл уязвимость — сообщения, пересылаемые…

javaspringspring-starteroutbox-паттернinbox-паттернdlqkafkarabbitmq
Habr
RU

Надёжная асинхронная коммуникация: повторы, дубликаты и dead letter queues

Представим обычную обработку заказа. Сервис заказов публикует событие order.created . Сервис склада получает его и резервирует товар в PostgreSQL. П…

rabbitmqgolanggokafkaархитектураасинхронностьмикросервисыbrokerqueueresilience
Habr
RU

Интеграция с сервисом рассылок: RabbitMQ, вебхуки и CRON

В этой статье я делюсь практическим опытом проектирования интеграционного решения для CRM-системы. Статья будет полезна системным аналитикам и разра…

rabbitmqмикросервисывебхукиcroncrm-системыcrm-системаcrm системаcrmинтеграцияинтеграция сервисов
Habr
RU

Как желание написать простой CRUD привело к созданию целой видеоплатформы

От CRUD на FastAPI до видеоплатформы: история одного pet-проекта: История о том, как учебный CRUD-проект на FastAPI постепенно превратился в стенд с…

fastapidevopskubernetesdockerpostgresqlrabbitmqredisмикросервисыgitlab ciмониторинг
Habr
RU

Как мы строили интеграцию с сервисом рассылок: RabbitMQ, вебхуки и CRON

В статье описан практический опыт интеграции CRM-системы с внешним сервисом рассылок (SMS и email). Как мы строили микросервис-посредник, зачем испо…

rabbitmqмикросервисымикросервисная архитектураrestapiвебхуки
Habr