Я ищу альтернативный дизайн или, возможно, обойти эту проблему, с которой я столкнулся при обмене сообщениями MSMQ.Прямо сейчас я использую NServiceBus (не проблема) для моей сервисной архитектуры.Это работает очень хорошо, и мне это очень нравится.Однако у меня возникли проблемы со службами, которые я хочу инициализировать при запуске перед обработкой сообщений обычной рабочей нагрузки.Позвольте мне объяснить мою ситуацию.
Допустим, у меня есть 2 службы, доступ к данным (DA) и обработчик (PE).
PE выполняет 2 задачи:
- Загрузка некоторой информации о конфигурации из DA.
- Обработка входящих клиентских запросов.
Проблема в том, что из-за конфигурации.Я не могу гарантировать, что после запуска службы первые получаемые сообщения являются сообщениями конфигурации.Я знаю, что вы можете удалить все сообщения из очереди при запуске, но я не хочу этого делать, потому что мне нужно обработать все сообщения.Во-вторых, даже если я удаляю все сообщения в очереди, все равно нет никакой гарантии, что конфигурация будет загружаться первой, фактически из-за большого объема сообщений, которые обрабатывает эта служба, маловероятно, что это будет первое полученное сообщение.
Мой вопрос к вам, ребята, что вы делали в прошлом, чтобы обойти эти типы проблем с архитектурой на основе сообщений.Я создал здесь основной грех и предположил, что сообщения будут поступать в некотором порядке, который не может быть дальше от истины.