Вопрос

Я просто новичок в сервисных автобусах (в частности, nservicebus) и только что написал свою первую сагу.

SAGA предназначена для получения транзакции, а затем отправляет сообщения для проверки идентификатора пользователей, сведений о платежах, сведений о продукте и т. Д. против в основном закрытой системы (трудно получить доступ к программам). Теперь некоторые функциональности легко автоматизировать и писать обработчики, но для выполнения транзакции требуется ручное вмешательство, так как для выполнения этих задач требуется ручное вмешательство. Теперь у нас будет несколько человеческих агентов, работающих против этого, так что параллелизм является проблемой, и я подумал, почему бы не попросить каждого пользователя потянуть следующее сообщение по требованию и таким образом использовать параллелизм, присущий MSMQ.

Я не смог найти никаких методов на ibus on nhibernate, чтобы позволить получить следующее доступное сообщение по требованию, так как кажется, что все основано на толчке. Таким образом, у меня есть прототип AA UI, который вручную извлекает сообщения из MSMQ, используя стандартную API .NET System.Messaging.MessageQueue и позволяет пользователю взаимодействовать с этим, а затем отправлять возврат обратно в сагу, написав ответ обратно через IBUS. Send () Метод.

Мой главный вопрос в отношении этого: нарушает ли это основные принципы вокруг nservicebus? А если нет, есть ли это все равно, чтобы сделать это через API nservicebus?

Также вы бы справились с параллелизмом через MSMQ или через приложение пользовательского интерфейса?

Ваше здоровье

Это было полезно?

Решение

Все в NSB однонаправлено на специально для целый ряд причин. Анкет Чтобы уведомить своих клиентов о том, что им нужно сделать что -то, что вы могли бы опросить модель представления, чтобы увидеть, есть ли работы в некотором интервале. Сага будет нести ответственность за вставку/обновление правильных строк для пользовательского интерфейса. После завершения пользовательского интерфейса вы можете использовать NSB для отправки () сообщения обратно в сагу. Если это веб -интерфейс, ознакомьтесь с примером Asyncpages в загрузке.

Другим способом сделать это было бы выдвинуть сообщение клиенту, предполагая, что обмен сообщениями устанавливается вместе с клиентом. Вам нужно будет создать какой -то насос сообщения в заднем плане. Опять же, после завершения работы подойдет простой Send ().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top