MassTransit Courier Routing Slip Demo

preview_player
Показать описание
MassTransit includes Courier, a routing slip implementation for building reliable distributed transactions with compensation. In this episode, I cover a refreshed demo application that uses saga state machines and routing slips to orchestrate and choreograph a distributed transaction initiated by an ASP.NET API.

Sample Project:

MassTransit

Connect with me on Twitter:

Sponsor me on GitHub:
Рекомендации по теме
Комментарии
Автор

Thanks for the video and the updated sample Chris (your samples are so helpful!). I'm looking forward to seeing Courier Routing Slip in more detail. I have been wanting to try this in some of my own processes for a while, this might get me over the hump.

valetrujilloNV
Автор

Lovely refresher after S03E02. It's always so great when a real world example is used to demonstrate feature use case. I still wish there was an overload to add activity to builder based on type and not having to pass an address, or at least the Courier docs should share an example about using name formatter / GetActivityAddress to generate address for you - maybe a good first PR for those wanting to contribute to docs :)

AvineshSinghSaab
Автор

Really appreciate your videos, keep them coming

hkarask
Автор

Hey Chris, thanks for the video and sample!

I did have one question about the sample code. It looks like the RegistrationController's Post method immediately publishes a SubmitRegistration event and then returns a payload to the client. Then the validation of the registration submission is performed by the SubmitRegistrationConsumer asynchronously.

Is there any benefit to not performing validation in the controller prior to publishing the first event? Do you typically validate early in production systems? Or is this just an artifact of this being a demo?

Thanks!

michaelgraf
Автор

@Chris, good content as always. :) although a lot to understand (as I haven't had the chance to use routing slips )
A question that I have had for a while now.
What would the be the benefits of combining a StateMachine (which I see more like Orchestration) with Routing slips (more like Choreagraphy). I see you used both in your demo and made me wonder.
Also, another question : Since the saga is just a snpashot, what do you suggest if I want to have event sourcing implemented with MT ?
Again awesome stuff

xheo
Автор

if I weren't using a Saga State Machine, could I still implement GetRegistrationStatus API endpoint that somehow manages query status of an activity with certain GUID (that was passed to RoutingSlipBuilder) ?

AvineshSinghSaab
Автор

8:26, how can I change the Uri, if I want to use the in-memory transport instead of the RabbitMq?

MirrorBoySkr
Автор

Awww, Jenny's license didn't work. :)

blfrie
Автор

So in MassTransit the communication between Microservices are done via message broker which can be orchestrated using Saga. If we use routing slip, how does an activity called other microservices? E.g in your demo you had a licenseVerificationActivity, do you just call license verification service via rest or messaging? A bit confusing 😅

xxXAsuraXxx