i_syed2000 Ответов: 1

Что такое транзакционный обмен сообщениями?


Я пытаюсь понять концепцию обмена сообщениями о транзакциях в MSMQ, а также поддержку транзакций в wcf.

Означает ли это, что для очередей с поддержкой транзакций следующий набор операций будет автоматическим?

1. Клиент А на машине 1 записывает строку в свою базу данных приложения, которая отправляет сообщение в очередь.
2. Создает/отправляет заказ создать сообщение в очередь (говорят, очереди сообщений).
3. Сообщение msmq, подхватит клиента Б на машине 2.
4. Клиент B создает порядок в собственной базе данных приложения?

Если я выполню все вышеперечисленные шаги в распределенной транзакции, означает ли это, что все 4 шага либо потерпят неудачу, либо преуспеют атомарно?

Или транзакция будет применяться только с шага 1 - 2?

Аналогично, если, скажем, WCF был задействован выше, а не MSMQ, будут ли все шаги атомарными, то есть внутри транзакции?

Что я уже пробовал:

Пробовал читать разные статьи об этом.

1 Ответов

Рейтинг:
0

Mehdi Gholam

Прочтите определение : [^]

Если Вы читаете/записываете в очередь сообщений и выполняете другие операции в транзакции, все они будут успешными или неудачными/откатными (так что для очереди нет очереди и для записи, и для удаления очереди для чтения, а базы данных фиксируют или откатывают и т. д.).