Это видео недоступно.
Сожалеем об этом.

Getting Started With MassTransit (Beginner Friendly)

Поделиться
HTML-код
  • Опубликовано: 16 авг 2024
  • Get the source code for this video for FREE → the-dotnet-wee...
    ☄️ Master the Modular Monolith Architecture: bit.ly/3SXlzSt
    📌 Accelerate your Clean Architecture skills: bit.ly/3PupkOJ
    🚀 Support me on Patreon to access the source code: / milanjovanovic
    MassTransit is an open-source distributed application framework for .NET. It provides a messaging abstraction on top of the supported message transports. MassTransit lets you focus on adding business value instead of worrying about messaging complexity.
    Health checks provide a way to monitor and verify the health of various components of an application, including databases, APIs, caches, and external services. Let's see how to implement health checks in ASP.NET Core. MassTransit supports many message transport technologies. Here are a few that are popular:
    - RabbitMQ
    - Azure Service Bus
    - Amazon SQS
    - Kafka
    In today's video, I'll show you how to install and configure MassTransit in .NET. We'll connect MassTransit to a few message brokers - RabbitMQ and Azure Service Bus. And we will also cover how to publish and consume messages with MassTransit.
    Check out my courses: bit.ly/3PupkOJ
    Using MassTransit with RabbitMQ and Azure Service Bus
    www.milanjovan...
    Join my weekly .NET newsletter:
    www.milanjovan...
    Read my Blog here:
    www.milanjovan...
    Chapters
    0:00 Installing MassTransit
    0:51 What MassTransit does for you
    1:45 Configuring MassTransit
    3:41 Publishing messages with MassTransit
    6:49 Consuming messages with MassTransit
    11:18 Adding different message transports

Комментарии • 53

  • @MilanJovanovicTech
    @MilanJovanovicTech  5 месяцев назад +6

    Get the source code for this video for FREE → the-dotnet-weekly.ck.page/masstransit
    Want to master Clean Architecture? Go here: bit.ly/3PupkOJ
    Want to unlock Modular Monoliths? Go here: bit.ly/3SXlzSt

  • @daddy2claire
    @daddy2claire 5 месяцев назад +2

    Thanks for this video! Subscribed! I already have some patterns in mind. Planning to start with Pub/Sub, then adding Competing Consumers and so on.

  • @myuuiii
    @myuuiii 5 месяцев назад +5

    man this is exactly what i needed yesterday 😂

    • @MilanJovanovicTech
      @MilanJovanovicTech  5 месяцев назад +2

      Better late than never 😅

    • @myuuiii
      @myuuiii 5 месяцев назад +1

      @@MilanJovanovicTech hahaha exactly, thanks for the video! I’ll be taking a closer look in a bit ⭐️

  • @MattOsbun
    @MattOsbun 3 месяца назад +1

    To the point and easy to follow. Thanks for this!

  • @funkydiddykong
    @funkydiddykong 5 месяцев назад +1

    One thing I would like to see is how to set up a durable message queue in case there are network issues between you and where you are publishing and how to correctly handle it without data loss. An additional requirement might be that message ordering is important, so just resending "dead letter" messages is not the best idea.

    • @MilanJovanovicTech
      @MilanJovanovicTech  5 месяцев назад +1

      That's an interesting topic

    • @funkydiddykong
      @funkydiddykong 5 месяцев назад

      @MilanJovanovicTech it's a problem I have had lately where inbound on-premises services sometimes disconnect for the service bus resulting in some data loss over long periods.

    • @MattOsbun
      @MattOsbun 3 месяца назад

      If MassTransit implements this like NServiceBus does, it's an under the hood inbox/outbox pattern. But I'm also looking to see how MT handles this.

    • @MattOsbun
      @MattOsbun 3 месяца назад

      Also, ordering should be irrelevant in a messaging system. Udi Dahan has some interesting thoughts on race conditions in messaging systems, but his conclusion is that there are no race conditions, just business processes that need to be explored more deeply.

  • @xxXAsuraXxx
    @xxXAsuraXxx 5 месяцев назад +1

    show us the advanced topics such as how to to do Microservices with Saga and routing slip :)

    • @MilanJovanovicTech
      @MilanJovanovicTech  5 месяцев назад

      Nothing fundamentally changes in a messaging based system when you move the consumers to other services - except you're now distributed. But that's an infrastructural concern. The programming model is the same.

  • @GlobeTrotter-wi4ck
    @GlobeTrotter-wi4ck 23 дня назад

    Great video! I'm curious which theme you are using in VS?

  • @valterdebrito3990
    @valterdebrito3990 4 месяца назад

    The best! Thanks for the video!!!!

  • @MohamedibnAhmed
    @MohamedibnAhmed 25 дней назад

    why when i seperate the project the publisher is publishing but the consumer never Consume i am using rabbitmq?

    • @MilanJovanovicTech
      @MilanJovanovicTech  24 дня назад

      Does the consumer connect to RabbitMQ?

    • @MohamedibnAhmed
      @MohamedibnAhmed 24 дня назад

      yes it is connected to RabbitMQ and when i use RabbitMQ Without MassTransit it works well

  • @felipemarques3997
    @felipemarques3997 5 месяцев назад +1

    Millan, in this example you are using, your communication is in the same solution. Does MassTransit support communication between different solutions?

    • @_JustBeingCasual
      @_JustBeingCasual 5 месяцев назад +1

      Its a messaging queue, so you are directly connected to the queue, so why would it matter what solution you are using?

    • @felipemarques3997
      @felipemarques3997 5 месяцев назад

      ​@@_JustBeingCasual I read that MassTransit use namespace to configure the messaging . So in differentes solutions with differents namespace it would be a problem.

    • @_JustBeingCasual
      @_JustBeingCasual 5 месяцев назад

      @@felipemarques3997 Hmm interesting, the contracts at least would be shared between solutions right? So in that case there could not be any issue, i think.

    • @felipemarques3997
      @felipemarques3997 5 месяцев назад

      @@_JustBeingCasual Yes, exactly. But how do we share contracts between two different solutions?

    • @_JustBeingCasual
      @_JustBeingCasual 5 месяцев назад

      ​@@felipemarques3997 There are different ways to do that, like including a '.dll' file, create a nuget package for those contracts. Well, that's the two ways that I can think off at the moment.

  • @PatrickMwangi-gh2oi
    @PatrickMwangi-gh2oi 3 месяца назад

    Hi Milan. Did both consumers get the same message because you used the in-memory bus and both consumers run in the same process? If maybe you used SQS as transport and have consumers in separate applications would these be competing consumers?

    • @MilanJovanovicTech
      @MilanJovanovicTech  3 месяца назад +1

      Yeah, that's the reason. Competing consumers happen if you go distributed, and using the same endpoint (queue). You can also configure consumers to use different endpoints to get a topic-like behavior.

  • @lalitap-ei5mc
    @lalitap-ei5mc 5 месяцев назад

    Excellent Video.

  • @cmonstokeST4
    @cmonstokeST4 2 месяца назад

    If I want send a message to an azure service bus topic why do I need to create and register a consumer?

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 месяца назад

      You don't need a consumer to send... You need a consumer to handle the message.

    • @cmonstokeST4
      @cmonstokeST4 2 месяца назад

      @@MilanJovanovicTech must be something wrong with my code then as it would not send until I created one 🤔 thanks for the reply

    • @MilanJovanovicTech
      @MilanJovanovicTech  2 месяца назад

      @@cmonstokeST4 I think for ASB to work with MassTransit you'll need to be on the Premium plan. Check their docs for more details.

  • @mkmerlinyt
    @mkmerlinyt 5 месяцев назад

    Milan, are you planning to extend your course with Messaging?

    • @MilanJovanovicTech
      @MilanJovanovicTech  5 месяцев назад +3

      That's a great idea honestly, I'm adding that as a project and I'll see when I can fit it into my schedule :)

  • @mohamedhajjaj2014
    @mohamedhajjaj2014 5 месяцев назад

    Thanks bro

  • @eliezerbwana2526
    @eliezerbwana2526 4 месяца назад

    Very helpful video.
    But I've a question, is it recommended to use the Inmemory process in modularMonolith??

    • @MilanJovanovicTech
      @MilanJovanovicTech  4 месяца назад +2

      Recommended? No. But it is "good enough" that it gets the job done.

  • @mostrealtutu
    @mostrealtutu 5 месяцев назад

    im sometimes wondering if people even read docs, looks like they dont, according to all those comments : (

    • @MilanJovanovicTech
      @MilanJovanovicTech  5 месяцев назад

      I'm sure they do, when they need to build something 😁

  • @joga_bonito_aro
    @joga_bonito_aro 5 месяцев назад

    Noice. How about a comparison video between MassTransit and Wolverine? Wolverine is the new hotness on the block and looks very promising for decoupled systems. Especially when integrated with MartenDB, Wolverine looks like a must use tool.

    • @MilanJovanovicTech
      @MilanJovanovicTech  5 месяцев назад +5

      Doesn't seem nearly as powerful as MassTransit, and a bit too opinionated for my liking. I'll do some research, though 👌

    • @joga_bonito_aro
      @joga_bonito_aro 5 месяцев назад +2

      @@MilanJovanovicTech I think you're perfectly right. But I can't quite put my finger on it why People think Wolverine is as good as it's hyped up to be