An introduction to MassTransit using RabbitMQ (In ASP.NET Core)

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ม.ค. 2025

ความคิดเห็น • 72

  • @vinr
    @vinr ปีที่แล้ว +2

    Even after two years, this is the best explanation on the subject, and I wish you continue to produce quality content, subbed!

  • @letsoverengineer
    @letsoverengineer 3 ปีที่แล้ว +1

    Wow, so simply - thank you for the first half of the video - it helped understanding the api a lot!

  • @akashkarve1991
    @akashkarve1991 4 ปีที่แล้ว +2

    Awesome!!! video. Very easy to understand and explained it very well. Looking forward more videos on Mass Transit & RabbitMQ. Best thing I liked about this video is that you have explained it in both ways normal as well as with extension methods which helps to understand things in better way. Keep it up mate. Appreciate your work. Thanks!!!

    • @DotNetCoreCentral
      @DotNetCoreCentral  4 ปีที่แล้ว

      @aakash karve, thanks for watching the video!

    • @kysondarren460
      @kysondarren460 3 ปีที่แล้ว

      you prolly dont give a damn but does anybody know a trick to get back into an Instagram account..?
      I was stupid lost the account password. I would love any tricks you can give me!

    • @lyricmathew8077
      @lyricmathew8077 3 ปีที่แล้ว

      @Kyson Darren Instablaster :)

    • @kysondarren460
      @kysondarren460 3 ปีที่แล้ว

      @Lyric Mathew I really appreciate your reply. I found the site on google and im waiting for the hacking stuff atm.
      Looks like it's gonna take a while so I will get back to you later with my results.

    • @kysondarren460
      @kysondarren460 3 ปีที่แล้ว

      @Lyric Mathew It worked and I now got access to my account again. I am so happy!
      Thank you so much, you really help me out :D

  • @madhvigupta6232
    @madhvigupta6232 9 วันที่ผ่านมา

    You should create more content video related to intermediate level interview questions on .Net and .Net core, Solid design principles and all , as others are just making us mugging up all the concept where you teach in depth

  • @alirashidi795
    @alirashidi795 2 ปีที่แล้ว

    Thank you It was the best example out there in internet

  • @avtarsashia4897
    @avtarsashia4897 2 ปีที่แล้ว

    Concept cleared. Its good tutorial to understand from basics

  • @Anja5233
    @Anja5233 2 ปีที่แล้ว +6

    FOR ANYONE WATCHING IN 2023: AddMassTransitHostedService() is not necessary anymore, if it throws an error just delete it

  • @Acesteef
    @Acesteef ปีที่แล้ว

    How would i use this if the two services cannot share the same namespace and cannot have a reference to the same Order model? I implemented this into both my microservices but they are both in a different namespace. Right now it is not sending or receiving any messages in RMQ.

  • @JohnDoe-xi6df
    @JohnDoe-xi6df 3 ปีที่แล้ว +1

    Based on the example from this video, I couldn't understand the benefit of using MassTransit. If I understand correctly, one service published a message and the other one consumed it. Isn't that what RabbitMQ does? What did we get by using MassTransit here?

  • @jeganathperialwar7788
    @jeganathperialwar7788 2 ปีที่แล้ว

    Explained well. Thanks for the wonderful lecture.

  • @ЯковЯсько-ф4п
    @ЯковЯсько-ф4п 2 ปีที่แล้ว

    You help me a lot, I like the video and I will be your subscriber

  • @oguzsisman9851
    @oguzsisman9851 2 ปีที่แล้ว

    Thank you mate, very helpful

  • @SuperSagar55
    @SuperSagar55 4 ปีที่แล้ว +1

    Thank you,
    Can you create a video on Distributed transaction with saga orch. pattern.

    • @DotNetCoreCentral
      @DotNetCoreCentral  4 ปีที่แล้ว

      @Sagar Khairnar, thanks for watching! I will definitely do a video on the Orchestration saga pattern.

  • @Gimmiyimmy
    @Gimmiyimmy 3 ปีที่แล้ว

    I need to create topic exchange but don't know the syntex. Where I can find example and tutorials for this.

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว +1

      @Atul Srivastava, thanks for watching!
      You can do something like this:
      Host.ConnectReceiveEndpoint(yourqueue, x =>
      {
      x.BindMessageExchanges = false;
      x.Consumer();
      x.Bind(e =>
      {
      e.RoutingKey = yourroutingkey;
      e.ExchangeType = ExchangeType.Topic;
      });
      });

    • @Gimmiyimmy
      @Gimmiyimmy 3 ปีที่แล้ว

      Thank you so much. 🙏🙏

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว

      @@Gimmiyimmy you are welcome sir!

    • @Gimmiyimmy
      @Gimmiyimmy 3 ปีที่แล้ว

      @@DotNetCoreCentral Sir, Please don't call me sir. I am nothing in front of you. 😒

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว +2

      @@Gimmiyimmy we are all developers my friend, we all the same :)

  • @codewithkashif
    @codewithkashif 3 ปีที่แล้ว +1

    I am still not able to figure out that what is the exact benefit of using mass transit...all these things we can do with rabbitmq without using this masstransit too...because adding also add extra complexity and required learning curve.
    So there must be something where it is making major impact....kindly help

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว +2

      @Kashif Reza, MassTransit by default implements the pattern of Exchange -> Queue, which mostly needs a thorough understanding to do it the right way. So that is one of the advantages.
      The other advantage, which I did not cover in my video yet is the ability to simplify the distributed transactions, which I intend to cover in future videos.

    • @codewithkashif
      @codewithkashif 3 ปีที่แล้ว

      ​@@DotNetCoreCentral Thanks a lot for detailed answer!
      distributed transaction means, Does it helps in implementing SAGA?
      I heard it also helps in implementing Outbox pattern..please lemme know if you have any plan to post any video around that.
      also last question i.e. Is MassTransit also available for classic .net framework?

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว +1

      @@codewithkashif yes, by distributed transaction I mean the implementation of SAGA. I have a plan to do a video in the future on this.
      MassTransit works with classic .NET Framework also as I recollect.

  • @mahendranchinnaiah7593
    @mahendranchinnaiah7593 4 ปีที่แล้ว +1

    Great effort. Thank you so much

    • @DotNetCoreCentral
      @DotNetCoreCentral  4 ปีที่แล้ว +1

      @Mahendran Chinnaiah, thanks for watching as always! Appreciate your support.

    • @mahendranchinnaiah7593
      @mahendranchinnaiah7593 4 ปีที่แล้ว

      @@DotNetCoreCentral am a big fan of your videos also eagerly waiting for your videos at Sunday 7pm cst

    • @DotNetCoreCentral
      @DotNetCoreCentral  4 ปีที่แล้ว

      @@mahendranchinnaiah7593 thanks!

  • @lismai9906
    @lismai9906 3 ปีที่แล้ว

    Why your publisher app's Configure(x) is using "temp-queue" but in your Consumer app, u r using "order-queue", isnt that gonna be an issue catching the message ?

  • @shamilgurban6439
    @shamilgurban6439 3 ปีที่แล้ว

    Thanks for great tutorial. But i have a question. My models are seperated in different projects so i should create models in two places. How can i bind exchanges so exchange from one project can find exchange from another project. They have different namings by default :(

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว

      @Shamil Gurban, I am not sure I understand the question. Exchanges are used to publish messages, so any project can bind to the exchange to publish messages. If you are subscribing to an exchange, the same holds true, you can subscribe from any project. The filename does not matter for the data model, as long as both have the same property name when they are serialized in JSON.

    • @lismai9906
      @lismai9906 3 ปีที่แล้ว

      As long as your Contract class has the SAME NAMESPACE, it will trigger Consume(x) method. So ask your other dev for his namespace used in his "Order" class

  • @lalpj4856
    @lalpj4856 2 ปีที่แล้ว +1

    Thank you😀

  • @christophertanghare4884
    @christophertanghare4884 4 ปีที่แล้ว +1

    I would like to see your video on saga pattern, I am watching for it 😁

    • @DotNetCoreCentral
      @DotNetCoreCentral  4 ปีที่แล้ว

      @Christopher Tanghare, thanks! Hopefully this weekend.

  • @user-rp9iis1en6h
    @user-rp9iis1en6h 3 ปีที่แล้ว

    Excellent tutorial. What if I deploy 2 consumers and in the queue there are many requests. Is there any chance that both consumers will pick the same message and create a conflict?

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว

      @S. Z., no it will never get the same message for 2 consumers for the same queue. And that's not a feature of Masstransit, it is how RabbitMQ or other underlying queuing engine works.

    • @user-rp9iis1en6h
      @user-rp9iis1en6h 3 ปีที่แล้ว

      @@DotNetCoreCentral in that case how multiple consumer will perform together? Suppose I have a queue called OrderPlaced. And there is two consumer, 1. PrepareDelivery 2. PrepareReceipt
      Whenever there is a item in order queue, these two consumer need to start their work. How this can be achieved with rabbitMq without using another new queue ?

    • @DotNetCoreCentral
      @DotNetCoreCentral  3 ปีที่แล้ว +1

      @@user-rp9iis1en6h ​ for that each consumer have to have their dedicated queue, and connected from an exchange. I have covered this scenario in my RabbitMQ series.

    • @user-rp9iis1en6h
      @user-rp9iis1en6h 3 ปีที่แล้ว

      @@DotNetCoreCentral Yes I have already seen them but couldn't understand how to configure exchange using massTransit.

  • @Gimmiyimmy
    @Gimmiyimmy 4 ปีที่แล้ว

    Thank you. Very well explained

  • @andreicapi3535
    @andreicapi3535 3 ปีที่แล้ว

    Thank you

  • @sridharsathya8719
    @sridharsathya8719 3 ปีที่แล้ว

    Thanks.

  • @kwiatu5
    @kwiatu5 ปีที่แล้ว

    JSON, is that you?

  • @rismanafyandi
    @rismanafyandi 3 ปีที่แล้ว

    Wow.. awesome. thank you dude.
    thank you so much