Интеграция предприятия между системами

У меня есть архитектурная проблема, которая сводит меня с ума.

Требование состоит в обработке списка сообщений на шине, которые должны выполняться последовательно из-за требований процесса. Поэтому я должен выполнять Сообщение номер 1 всегда раньше, чем Сообщение 2. Все сообщения одного и того же клиента логически группируются по уникальному коду клиента. Если сообщение дает сбой, я должен заблокировать весь список сообщений, принадлежащих этому клиенту, и я должен выполнить их снова после этого (не теряя их, иначе возникнет несоответствие с вызывающей системой). Все мои сомнения связаны с масштабируемостью; позвольте мне объяснить: какое решение может позволить мне однажды «увеличить масштаб», если я буду вынужден обрабатывать сообщения последовательно? Я не могу увеличить количество Worker, которые обрабатывают сообщения на шине, потому что в этом случае может случиться так, что сообщение 2 будет обработано первым (и оно отправит мне ошибку, потому что сообщение n. 1 не является еще не закончил ) Не могли бы вы предложить мне решения / шаблоны / лучшие практики , которые можно использовать на автобусе ? Считаете ли вы, что такой инструмент, как BitzTalk, может помочь в этой ситуации?

заранее спасибо


person MetalMad    schedule 15.11.2013    source источник
comment
Источник событий CQRS   -  person MattDavey    schedule 15.11.2013