Транзакции в MSMQ, паттерны сообщений
От: снежок Россия  
Дата: 04.10.06 05:51
Оценка:
Есть процесс, который посылает в виде сообщения некоторую задачу на исполнение.

Задача должна быть разбита на части и эти части должны быть обработаны разными сервисами, поэтому она направляется Observer-у для разделения и распределения.

Observer получает основное сообщение, разбивает его на две части, предполагающих параллельное выполнение и направляет уже 2-а сообщения на свободные сервисы.

Свободные сервисы достают поступившие сообщения из своей очереди, обрабатывают их и направляют обратно Observer-у сообщение-ответ об успешном или неуспешном выполнении части задания.

Observer производит аггрегацию ответных сообщений.
Если все ответные сообщения сигнализируют об успешном выполнении задача считается выполненной, если хотя бы одно ответное сообщение сигнализирует об ошибке всё задание считается невыполненным и должн произвестись откат.

Q:
1. Я так понимаю, в данной ситуации, если при выполнении части задания (задания длительные) происходит сохранение в БД, то действия по откату придется реализовывать вручную? Т.е. хранить в базе у объектов флаг-состояние — сохранен он или нет.
2. Есть ли какие то стандартные способы натянуть транзакционность на систему сообщений?
3. Интересуют также паттерны по аггрегации, паттерны-адаптеры и прочие для сообщений MSMQ
Re: Транзакции в MSMQ, паттерны сообщений
От: pt4h Беларусь http://dzmitryhuba.blogspot.com/
Дата: 04.10.06 10:16
Оценка:
Здравствуйте, снежок, Вы писали:

С>Q:

С>1. Я так понимаю, в данной ситуации, если при выполнении части задания (задания длительные) происходит сохранение в БД, то действия по откату придется реализовывать вручную? Т.е. хранить в базе у объектов флаг-состояние — сохранен он или нет.
Придется.

С>2. Есть ли какие то стандартные способы натянуть транзакционность на систему сообщений?

Не встречал.

С>3. Интересуют также паттерны по аггрегации, паттерны-адаптеры и прочие для сообщений MSMQ

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe (Author), Bobby Woolf (Author).
Re: Транзакции в MSMQ, паттерны сообщений
От: AleXXus Россия  
Дата: 12.10.06 07:11
Оценка:
Здравствуйте, снежок, Вы писали:

С>Q:

С>1. Я так понимаю, в данной ситуации, если при выполнении части задания (задания длительные) происходит сохранение в БД, то действия по откату придется реализовывать вручную? Т.е. хранить в базе у объектов флаг-состояние — сохранен он или нет.
С>2. Есть ли какие то стандартные способы натянуть транзакционность на систему сообщений?

Посмотрите в MSDN Transactional Message Processing (конкретнее — External Transactions) и использование DTC (distributed transactions coordinator).
________________________________
When in Rome, do as the Romans do...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.