Можно использовать асинхронный HTTP API, если он удовлетворяет требованиям. Но тогда нужно самостоятельно обеспечить хранение задач, повторы, подтверждения, ограничение нагрузки и восстановление после сбоев.
Почему нельзя просто использовать REST API с асинхронным взаимодействием вместо брокера сообщений?
Можно использовать асинхронный HTTP API, если он удовлетворяет требованиям. Но тогда нужно самостоятельно обеспечить хранение задач, повторы, подтверждения, ограничение нагрузки и восстановление после сбоев.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Можно использовать асинхронный HTTP API, если он удовлетворяет требованиям. Но тогда нужно самостоятельно обеспечить хранение задач, повторы, подтверждения, ограничение нагрузки и восстановление после сбоев.
Брокер предоставляет специализированные механизмы развязки производителей и потребителей, буферизации и доставки. HTTP-схема с 202 Accepted, polling или callback тоже работоспособна, но принятие запроса не гарантирует завершения задачи. Выбор зависит от объёма, задержек, независимости сервисов и операционной сложности. Брокер не отменяет идемпотентность, а REST сам по себе не запрещает асинхронную обработку.