Im trying to manage a distributed transaction using saga. My design is like below.
Order service start saga with CreateOrder command.
Then it gets ItemAddCommands.
And finally it gets ConfirmOrderCommand, in this step it create event called CreditRequestedEvent and publish it to RabbitMQ.
Then Customer service process this event. And then it publish another event called CreditConfirmedEvent and it is processed by the Order service and ends the saga.
Is this kind of implementation ok. And this Customer serivice can be a . Net service.