Сценарий: пользователь сохраняет заказ
Для завершения рабочего процесса заказа необходимо выполнить следующие действия:
- Сохранить заказ в базе данных с флагом «не подтверждено».
- Переведите заказ в Active MQ и прослушайте сообщение подтверждения, которое должно появиться в другом Q. Обычно получение сообщения подтверждения в другом Q занимает от 1 минуты до неизвестного.
- Когда я получаю флаг обновления подтверждения вБаза данных.
Я не хочу, чтобы пользователь ждал получения подтверждающего сообщения, поэтому, как только Заказ успешно сохранен в базе данных, пользователь может перейти с веб-страницы.В настоящее время я сохраняю заказы в базу данных с помощью метода публикации Ajax и планирую вызвать действие Async, если сохранение в базу данных прошло успешно.Предполагается, что это асинхронное действие работает с Active MQ и ждет в течение неопределенного времени, пока оно не получит подтверждение.
Вопрос: Являются ли контроллеры Async правильным выбором здесь?Или я напишу службы Windows, которые опрашивают подтверждение Q и обновляют базу данных соответственно.Основная цель - уменьшить сложность и затраты на обслуживание.