What Is A Message Queue + RabbitMQ and MassTransit Integration

What Is A Message Queue + RabbitMQ and MassTransit Integration

Milan Jovanović

1 год назад

30,573 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

nick066hu
nick066hu - 29.08.2023 22:35

Is OK to connect to the Message Queue / RabbitMQ from a client running javascript? Or would it be a design failure, an overkill, (too much load/ package size, etc.) and should translate to REST apis / websocket instead for the small clients?

Ответить
David
David - 25.08.2023 16:18

What exchange is mass transit using? Topic? Fanout? Direct? I'm assuming it setups these with the bindings to the queue as well.

Ответить
Dawid Ostrzyżek
Dawid Ostrzyżek - 12.08.2023 23:34

I don't think we should put cancellationToken in _eventBus.PublishAsync beacuse product is already saved

Ответить
Kevin Wang
Kevin Wang - 06.08.2023 13:41

Rabbitmq is good, but Kafka scales better I think

Ответить
Viktor Zafirovski
Viktor Zafirovski - 01.08.2023 17:23

Hi Milan! Can I ask you something? When you use records in C# is it much simple and less code with only the constructor and pass the values through the constructor instead of properties? or this is just a clean-written code? After all, records are read-only I know. Maybe I'm wrong. Can't be modified additionally in another place with accessing some property. Thanks for the videos 🙂. Поздрав од Македонија. 😉

Ответить
June
June - 18.07.2023 20:33

Everything is cool, thanks! But! It's all in the sandbox category. What if we have a producer that is an external service (not in the same namespace as the consumer), and we need to beat off messages that accidentally entered our consumer in such a way as to not crash the application. To make everything beautiful and asynchronous. Here you would show such a complex example. how great it would be! but these are all "Hello, World!" The examples don't really help, to be honest. All those examples from the documentation are too primitive and have nothing to do with the combat environment. Thank you.

Ответить
Laurens D
Laurens D - 12.06.2023 14:59

Is this a good replacement for outbox pattern? Still experimenting and all those patterns are a tiny bit hard to swallow without practical experience.

Thanks for the great video

Ответить
vanasis baboomi
vanasis baboomi - 04.06.2023 10:31

Great Video, but one question.
what is difference between event bus and domain event from previous videos?

Ответить
Stan Bubbers
Stan Bubbers - 04.05.2023 23:20

Great video, but could you explain how you've set up your project to run in a docker container. Apologies if I've missed a video where you explained this.

Ответить
Davit Tonoyan
Davit Tonoyan - 13.04.2023 23:16

Thank you, I have one question. When you publish the message how the RabbitMq stores the data? I mean does it make some kind of serialization ( json, byte array) ?

Ответить
Daniel Chiang
Daniel Chiang - 03.04.2023 17:48

Can you make a video for Masstransit saga?

Ответить
alex g
alex g - 29.03.2023 13:35

Great video!

So RabbitMQ is the lightweight database/queue persisting the events.
You hook up Mass Transit to connect to this 'queue' and whenever an event is persisted to the queue the appropriate mass transit event handler will consume it.

Is this an alternative to the transactional outbox pattern where you raise events to the DB and process them with a background service? They are similar. I can see the benefit of both for sure.

This one feels more lightweight than the TransactionalOutbox -> Background Service reading jobs. But maybe that's because I am considering that with the raising of domain events and the aggregate root unit of work commits to db.

Ответить
Anton Martyniuk
Anton Martyniuk - 26.03.2023 13:35

RabbitMQ is cool, but we gave up using MassTransit library in favor of ReBus. By the way, ReBus was recommended in one of the Microsoft articles. When combined MediatR and ReBus is a cool combo when you want to abstract from the EventBus.
Why we gave up MassTransit? We worked with RabbitMQ and Kafka and when you need to access the inner and low level message bus things you just can't do it with MassTransit

Ответить
Iam Noob
Iam Noob - 18.03.2023 19:08

Hi , pls would request you to make more detailed videos involving 2 microservice + az function using Mass Transit + RabbitMq.

Ответить
Anıl Karaşah
Anıl Karaşah - 14.03.2023 20:06

I am new to the Message Queue World, I am trying to learn about it and this video helped me a lot with that.

I have implemented everything as you did. Though, in the RabbitMQ management page, the exchange does not show any consumers and the messages just disappear on their own. No logs, no emails, no hitting breakpoints, nothing. What may cause this?

Ответить
Nikola L
Nikola L - 07.03.2023 22:28

Really nice explanation/demo. I recommend you to upgrade your mic and then you'll sounds like a real pro content creator. Knowledge wise, seems like you already got what it takes :)

Ответить
Chudakov Dmitry
Chudakov Dmitry - 18.02.2023 10:12

Great video. But its more interesting to see how to interact with non-.net consumers. Who do not know anything about masstransit and its envelope and other things.

Ответить
Kristopher Betz
Kristopher Betz - 14.02.2023 20:58

Milan, great video as always!

Ответить
mahmoud alaskalany
mahmoud alaskalany - 11.02.2023 01:43

Great One Milan as usual
I was searching for a related video on the channel to comment about new video idea

It is about how to create a consumer and producer console template so that when i need new consumer or producer i just go and create a new project of that template 😅

Ответить
Zoltan Juhasz
Zoltan Juhasz - 07.02.2023 12:01

Hi, is there a Github source for this demo solution?

Ответить
salman zafar
salman zafar - 06.02.2023 10:00

Thanks for another great video.

should it not be extending your CLEAN architecture video where the Outbox pattern was used to persist events in the database and Quartz/Hangfire as background service using MassTransit to push those events from the database to Queuing service?

Ответить
Saleh Danbous
Saleh Danbous - 05.02.2023 16:42

Great, why not fire the Publish method inside a background job using Quartz or Hangfire like you did in TransactionalOutbox video?

Ответить
Bayonle Amzat
Bayonle Amzat - 05.02.2023 13:05

What's the reason for abstracting the IPublishEndpoint behind another interface IEventBus?

Ответить
Velkumar Santhanaraj
Velkumar Santhanaraj - 04.02.2023 17:20

@Milan awesome video on RabbitMQ.
Looking forward to see more video on this playlist like Mediator to RabbitMQ, Mass Transit - Publish vs. Send, Commands etc.

Ответить
Esteban Hugo Somma
Esteban Hugo Somma - 04.02.2023 05:16

Excellent video Milan as always! I just started to learn MassTransit this week and I was need one of your videos about MassTransit, so you read my mind!
2 questions: Can you share the source code of the video? And, MassTransit have a Mediator pattern implementation, can we replace the MediatR library for MassTransit Mediator? Greetings from Argentina!!!

Ответить
Chris Patterson
Chris Patterson - 04.02.2023 05:15

Great video, glad you're having fun exploring MassTransit!

Ответить
Kostas Gkoutis
Kostas Gkoutis - 03.02.2023 23:16

What is the level of support for Mass Transit for the Outbox pattern? Is this going to be presented later or we rely on the video already shared in the Clean Architecture series?

Ответить
Myles Davies
Myles Davies - 03.02.2023 21:40

Great video, this is a topic area I would really like to see more of. There is some good content on messaging on CodeOpinion (Derek Comartin) but it tends to be more focused on theory. Would be good to see some detailed content around further use of rabbitmq and messaging in general. Thanks

Ответить
Nazarii
Nazarii - 03.02.2023 20:46

Not a big fan of this library, but your video has inspired me. Could you pls explain why you added this SetKebabCaseEndpointNameFormatter() ?

Ответить
KARIM Yacine
KARIM Yacine - 03.02.2023 20:06

do you guys memorize the code or what... i have never seen him using documentation in any video! so he memorize the syntax before or he opens the doc in the second screen i don't get it... and he never shares the original links. Please guys go and read the documentation you'll never learn like this

Ответить
Myles Davies
Myles Davies - 03.02.2023 17:52

Impeccable timing, I'm just trying to get started with rabbitmq 🙂

Ответить
Jacob Jacob
Jacob Jacob - 03.02.2023 17:25

What exchange and queue this message was published? Because I can't see any configuration for exchange or queue

Ответить
Major Martin
Major Martin - 03.02.2023 16:39

Very good video, but I think Mass Transit + RabbitMQ would deserve and need more content. I hope you will do some follow up videos for this. Show the difference between Orchestration and Choreography. Maybe do a seperate little project and debug through 3-4 microservices involved in a transaction etc.

Ответить
nove
nove - 03.02.2023 16:23

Question, would it be wise to implement multiple IConsumer<•••> of different types to the same concrete class? Assuming the events it consumes are related?

Ответить
nove
nove - 03.02.2023 16:15

I usually add event to the object name as well, it helps me to show explicit intent modeling IMO

Ответить
Rajakumaran Chakaravarthy
Rajakumaran Chakaravarthy - 03.02.2023 16:14

Hey Milan, thanks for the intro to RabbitMQ. I believe you missed explaining about the KebabConfiguration that you added. Or did it miss the context of it?

Ответить
Allen A
Allen A - 03.02.2023 15:51

Good video and useful to explain the subject matter. I used to agree but honestly if you want to go at scale you need to move to the 2.0 (ish) of queue tech which are the cloud native queues (rabbit types) and logs (think kafka) in gcp, azure and aws. These systems provide much deeper serverless options that can scale up with little hassle. (chief arch, fortune 5)

Ответить
muumitramm
muumitramm - 03.02.2023 15:43

I have trust issues with RabbitMQ in a container. Issue was that once a quarter its login failed - wrong username/password. But i am sure i used the correct credentials. Thus messages didn't arrive to the channels. After recreating rabbits pod/container the bug disappeared until it came back again. It was around 2019-2020.. Maybe this issue is gone now. My point is that you cannot 100% trust rabbitmq(or any queue) and you need to have a plan when it fails.

Ответить
user5670
user5670 - 03.02.2023 15:25

Pressed like before actually watching the video.

Ответить