Мы обрабатываем кучу сообщений в одной очереди, все выглядит хорошо. Несколько обработчиков, которые позаботятся об этом. Но теперь мы подошли к случаю, что нам нужно обрабатывать сообщения, поступающие от одного пользователя, синхронно. в начале сообщения я не знаю, что и будут ли приходить новые сообщения от этого пользователя.
Итак, вариант использования;
- пользователь 1 завершает шаг 1 => 3 задачи должны выполняться синхронно.
- пользователь один завершает шаг 2 => необходимо выполнить 5 новых задач синхронно (следя за тем, чтобы предыдущие задачи также были выполнены, поскольку возникают проблемы с синхронизацией данных).
- пользователь два завершает шаг 1 => 3 задачи должны выполняться синхронно.
- то же самое для шага 2.
Для всех пользователей это может быть сделано асинхронно, но в пределах одного пользователя это должно быть сделано синхронно. Возможно ли это с NServiceBus? Если да, то как и каким будет наилучший подход?
Спасибо