🚨 Надёжность процессов с брокером: чек-лист для СА
Подключить Kafka или RabbitMQ — ещё не значит сделать процесс надёжным.
Сервис принял сообщение из RabbitMQ, обработал его, изменил данные в БД — и упал до отправки подтверждения обработки ACK. Брокер передаёт сообщение повторно.
👉 Что произойдёт: ничего страшного или заказ создастся дважды?
Если в требованиях нет ответа, надёжность асинхронного процесса остаётся на усмотрение разработчиков или до первого инцидента с продакшн.
Чек-лист :
1️⃣ Идемпотентность
2️⃣ Retry
3️⃣ DLQ — Dead Letter Queue
4️⃣ Transactional Outbox
5️⃣ Порядок сообщений
6️⃣ Подтверждение обработки: ACK / COMMIT OFFSET
7️⃣ Восстановление после сбоя
8️⃣ Мониторинг
📌 Подробный чек-лист прикреплён к посту.
Сохраняйте и пользуйтесь при разработке требований к асинхронным процессам.
#АрхитектураGA
📱 Tg | 💙 ВК | 💬 Max
Post #3657
3.36K