Пятнадцать лет строю и масштабирую распределённые системы — застал переход индустрии от bare-metal серверов и монолитов к cloud-native, Kubernetes и GitOps. Берусь за то, что команды откладывают: технический долг, CI/CD с нуля и удержание систем в строю.
Референсная архитектура. Клиентский код под NDA, поэтому страница описывает устройство системы и логику решений, а не конкретное внедрение.
Фоновая обработка всего, чему не место внутри запроса: импорты, выгрузки, уведомления, генерация отчётов. Обработчики идемпотентны, потому что доставка at-least-once означает, что задача рано или поздно выполнится дважды, и вид, что это не так, просто переносит баг в другое место.
Ретраи идут с экспоненциальным backoff и потолком, а всё, исчерпавшее попытки, попадает в dead-letter с исходным payload и причиной отказа. У этой очереди есть владелец и дашборд, потому что непрочитанный dead-letter — это просто более медленный способ потерять данные.