Intro To RabbitMQ

Поделиться
HTML-код
  • Опубликовано: 1 фев 2025

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

  • @mnasirkhanctl
    @mnasirkhanctl Год назад +66

    Not only you teach coding, but architecting a system at the same time. Blessed to have a mentor like you Sir!

  • @hakeemojulari7392
    @hakeemojulari7392 Месяц назад +2

    Tim is a very great teacher not a facilitator. He is a mentor. He makes what seems hard very simple.

  • @franciscopalmabeltran3257
    @franciscopalmabeltran3257 9 месяцев назад +2

    Tim. You're doing a lot of good stuff for people who needs a practical focus of the knowledge, specially in a world where people expect you to have experience with every tool and aspect.

  • @YazanGplay
    @YazanGplay Год назад +7

    Can't believe you uploaded a video about RabbitMQ, I was making researches about this topic last week, I really need this video! Thanks Tim

  • @taha5871
    @taha5871 4 месяца назад +1

    That's the best ever intro about RabbitMQ
    brilliant Mr TimCorey, you are the best teacher explain effectively what is RabbitMQ and how to use it simulated in the real world microservices architecture
    Thanks to much from my heart ❤

    • @IAmTimCorey
      @IAmTimCorey  4 месяца назад +1

      I am glad it was helpful.

  • @jacool5168
    @jacool5168 8 месяцев назад +1

    Dziękujemy.

  • @aditheorigin4926
    @aditheorigin4926 Год назад +14

    Great content.. your content not only teach us c# but the whole echo system. ♥️

  • @TheDdaniel10000
    @TheDdaniel10000 Год назад +2

    I have been waiting for RabbitMQ, explained by you for a long time. Now, I am confident that I'll know what the hell is this XD.
    Thank you for everything.

  • @Roy-h2q
    @Roy-h2q 11 месяцев назад

    I really like these clips; they help me understand instantly, unlike other RUclips videos.

  • @ohadrahat8888
    @ohadrahat8888 6 месяцев назад

    Thank you for another helpful video. Your content consistently provides clear and practical information that is very useful. I appreciate the effort you put into making these tutorials. Keep up the fantastic work!

  • @marks_02
    @marks_02 Год назад +13

    Another great option is to use Azure Service Bus as the queue, and then use Azure functions to pull out of service bus. The functions can be triggered automatically when a message arrives in the SB.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +5

      Yep. Functions can operate on both sides.

  • @torrvic1156
    @torrvic1156 Год назад +2

    Thanks a lot Tim! Even I with my zero experience with RabbitMQ and in a kind of stressful condition managed to understand something about it. At least know I know what it is and what is the purpose of this system.

  • @zachariachege7660
    @zachariachege7660 Год назад +2

    Great stuff Tim. I Was looking for a tutorial on this topic and the experience I got is the best. Looking out for more.

  • @xlerb2286
    @xlerb2286 Год назад

    For years I was constrained to having to use MSMQ and I wasn't that keen on message queues. RabbitMQ is so much better in so many ways, big fan of message queues now.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      I am glad it was helpful.

    • @bwzffgh7
      @bwzffgh7 Год назад +1

      Microsoft excels at taking relatively simple concepts and implementing them in the most extraordinarily complicated ways as possible.

  • @lifehacks1-xp
    @lifehacks1-xp Год назад

    Thanks for the vid Tim. Just yesterday I was looking for a tutorial on this topic and did not find something as clear.
    Thank you so much.

  • @yehy6357
    @yehy6357 Год назад

    Hi
    Very clear way of explaning.
    I saw some videos on RabbitMQ, but I was waiting for your way of explaining things.
    Thanks

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

    Incredible explaining skills Tim. Thank you

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

    You are brilliant and so down to earth

  • @ngobenimsesenyaneplatius9862
    @ngobenimsesenyaneplatius9862 Год назад

    this is a great intro, straight to the point

  • @7sim
    @7sim Год назад +3

    Great video Tim! Hope to see more RabbitMQ content soon :)

  • @unknown-xt1gy
    @unknown-xt1gy Год назад

    Amazing knowledge I got from this tutorial, Thank you very much

  • @shawnsmith8975
    @shawnsmith8975 Год назад +1

    I was able to use Dapper and insert the messages, I used a stored procedure, really cool.

  • @fatmazayed
    @fatmazayed 11 месяцев назад

    very nice explaniation with real demo 🥰

  • @mohammadanas4377
    @mohammadanas4377 Год назад +1

    What a masterpiece AS ALWAYS

  • @satyanarayana2645
    @satyanarayana2645 Год назад

    Really Great Content Tim. Now I got good understanding on RabbitMQ. In addition to present video, could you please do some video related to connecting to rabbit mq using azure functions and sending messages. Thanks once again for your valuable time and efforts.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

  • @Baraka-yl2dp
    @Baraka-yl2dp Год назад +3

    Great Video. Keep up the good work. I was wondering how this would compare or collaborate with SignalR? I think that would be an excellent topic for another video. Another excellent option for another video will be how to integrate this in Azure for many remote clients from many sources or senders.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +3

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
      As for a comparison to SignalR, they are really different. SignalR maintains a constant connection between the server and client in order to send and receive messages. With RabbitMQ, you send messages to the server and then close the connection. The server holds the messages until someone is listening. Then it sends the messages to the client. It is a very disconnected, asynchronous system.

  • @xexexino779
    @xexexino779 11 месяцев назад

    Thank you Tim , ur explanation On Point 😎

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

    Amazing video, thank you sir!

  • @jameswachira5713
    @jameswachira5713 Год назад

    Excellent tutorial. Very helpful

  • @MDimitrovv
    @MDimitrovv Год назад

    Thank you for the great video again Tim! :)

  • @haripranesh5342
    @haripranesh5342 Год назад

    Great explanation man👌 Thank you !

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

    Great, great, great. Thank you!

  • @randre6420
    @randre6420 9 месяцев назад

    This is a great video! I really learned a lot. I'll try to simulate this too later. Just want to check if you have a video related to dead letter exchange. Thank you!

    • @IAmTimCorey
      @IAmTimCorey  8 месяцев назад

      I don't have a video specific to dead letter exchange. Sorry. You can add it as a suggestion on suggestions.iamtimcorey.com if you want to see one.

  • @diegocadena7693
    @diegocadena7693 Год назад

    Thanks! Another excellent explanation as always

  • @sumeyyebusra
    @sumeyyebusra Год назад

    Great video! I hope we get a tutorial on MassTransit too. Thank you so much.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

  • @tonguyenducmanh
    @tonguyenducmanh Год назад

    thank you so much, now i can understand rabbitmq

  • @gustavoftrindade
    @gustavoftrindade Год назад

    Thank you very much for the video, it was very useful.

  • @tresaidh3y90
    @tresaidh3y90 Год назад

    Thank you for another great Video Tim.

  • @wheelsam2659
    @wheelsam2659 Год назад +1

    Thanks for the video! I'm new to the message broker concept and a little confused still. If I stand up a C# API, should the "Receiver" call the API on the received event? Is is standard to host the MQ on the same server as one of the API's? If I'm understanding correctly I can place this in-between my API and my JavaScript website? I really appreciate all the content!

  • @mivewin
    @mivewin Год назад

    Thanks for sharing! I'm left with a question that the video does not mention that much about, which is 'when do I use it'?
    We are going to use it to get webhook events from the payment service stripe and store it in the database that our server uses. The advantage we see is no load on server and no extra code in our server. We want to create a message bus for sending requests to others services as well like the CRM service hubspot.
    But when I saw our video I was thinking we could also use RabbitMQ for client requests like you show in your video and the part about load-balancing is interesting and got me thinking how many things people can wait for and I can't think of a lot. Actually I could only think of your example 'the register account' case.
    I'm thinking regular show a list of all 'objects' or all CRUD operations where you want the list of objects to be changed instantly. What I could think of was registering to a newsletter and could maybe think of more examples, but I think it would only be a low percentage of all requests going to the server that could wait. Is that true in most cases it's only very little of websites traffic which are using queues?
    Also I was thinking do anyone go all out and puts every request in the queues to get the full benefit of the load/balancing, or would it hurt performance for e.g. loading some objects details page too much with this layer?
    Thanks again, so much quality in your videos.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Good questions. Queues are typically more useful for tasks that are long-running rather than ones that need real-time results. For instance, you could request a report and have it emailed to you once the report is generated. That could use a queue. You could use a queue for a purchase, where the warehouse processes it, the shipping department processes the next step (also from a queue), etc. Typically, you wouldn't be using it for times when the user wants an immediate response.

  • @ANILGOINDI
    @ANILGOINDI Месяц назад

    Hi Tim, great video. How would I deploy this Client/Server to AWS or an Azure test account? I hope you had a great Christmas and that you have a great, healthy, and happy new year. Thanks for your time.

    • @IAmTimCorey
      @IAmTimCorey  Месяц назад

      Merry Christmas and a happy New Year to you as well. As for how to deploy the client and/or server to Azure, that sounds like a good video. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

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

    You rock Tim!

  • @liorh6459
    @liorh6459 Год назад

    Hi Tim,
    Great video, really helpful. I have a question:
    I expected that if the data is being encoded as byte[] we wouldn't be able to see the message on rabbitMQ UI, how could we?

  • @gsateesh7643
    @gsateesh7643 Год назад

    Hi @iamtimcorey , thanks for the great tutorial. My current organization is using rabbitmq for production too. One question, can we use rabbitmq for simple chat applications where one to one and one to many user are present?

  • @keivankashanimanesh
    @keivankashanimanesh Год назад +1

    Hi Tim thanks for your video, please make a video like this for Redis

  • @mateuszg2930
    @mateuszg2930 9 месяцев назад

    That's really interesting topic!

  • @eduardrivas6964
    @eduardrivas6964 Год назад

    Tim, why you don't have content on mobile? Xamarin is not good enough? I need to learn mobile but I'm struggling to decide between C# technology and flutter with Dart.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +2

      I've covered intros to .NET MAUI and Blazor Hybrid (both successors to Xamarin). I haven't done a lot with mobile because it is a bit of a niche subject. However, I will be covering it more in the near future.

    • @eduardrivas6964
      @eduardrivas6964 Год назад

      @@IAmTimCorey Awesome, thanks.

  • @jacool5168
    @jacool5168 8 месяцев назад

    Very Good quick lesson

  • @lukesaunders9321
    @lukesaunders9321 Месяц назад

    This might be a slightly odd or obvious question.... How do you ensure only one receiver app consumes each message? What stops them grabbing the same message, before its ack'd by the other app or does RabbitMQ take care of this?

    • @IAmTimCorey
      @IAmTimCorey  Месяц назад +1

      RabbitMQ sends out the message to only one listener. It then will wait for that message to be processed. There is a timeout for in the case where the listener crashed after receiving the message. In that case, the message can be put back in the queue and handled by the next listener.

    • @lukesaunders9321
      @lukesaunders9321 Месяц назад

      @IAmTimCorey thanks for the clarification

  • @uchendukwe786
    @uchendukwe786 Год назад

    Thank you for this great intro. Please is there a way for one message to be consumed by more than one consumer such that when the producer sends a message, the message can be consumed by 2 or more consumers? I am looking at a pub/sub scenario where one producer sends a message that is needed by multiple consumers. How do you ensure that the message is not deleted immediately the first consumer consumes it and how do you ensure the message gets removed from the ques after it has been consumed by all the consumers that need to consume it?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Yep, that's a setting you can set. You just need to establish how long the messages will live, etc.

  • @KevMc64Ware
    @KevMc64Ware Год назад

    Great Vid Tim, Love the VS tips as well. You started off by talking about a 'sign up page'. So for example, if the client hits submit to register, then it gets queued, client closes down etc, when the message eventually gets processed, and the client was already registered, what happens then?

    • @KevMc64Ware
      @KevMc64Ware Год назад

      or are we talking a max of a few seconds where the client just waits for the response.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Most signup actions don't have to be immediate. For instance, even the "we've sent you an email. Click on the link in it to create your login." isn't really immediate. That can take a few seconds and it is ok. Others, though, are even longer. For instance, the welcome email that tells you about the services available to you. That can come out days later and its ok.

  • @khawarsaeed1851
    @khawarsaeed1851 Год назад +1

    Excellent SIR

  • @MohammadSikt
    @MohammadSikt Год назад

    How one can consume some messages, not acknowledge them immediately, close the channel/connection, and later on, in a new process acknowledge a few selected consumed message? The selection is based on some side processes on the consumed messages.

  • @vinisfe
    @vinisfe 8 месяцев назад

    Thank you so much!

  • @joshuajosh3721
    @joshuajosh3721 Год назад

    Hi Tim,
    Is RabbitMQ only work for post or put actions? not used in get and delete action ?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      RabbitMQ is a message broker. It just receives and sends messages. What you do when you receive those messages is up to you.

    • @joshuajosh3721
      @joshuajosh3721 Год назад

      @@IAmTimCorey Thanks for your reply, I also watched your suggestion app course. in this scenario, can I use RabbitMQ between Blazor server and MongoDB, use a background worker to receive a message from RabbitMQ ? but if I want to get a suggestion data (not post a suggestion data), Can I send get request message to RabbitMQ? Thanks in advance.

  • @jopsuey
    @jopsuey Год назад

    awesome Tim!

  • @ConstancyCAE
    @ConstancyCAE Год назад

    Tim The gem!

  • @TommasoDomenici-z8x
    @TommasoDomenici-z8x Год назад

    Really good tutorial

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Thank you!

    • @TommasoDomenici-z8x
      @TommasoDomenici-z8x Год назад

      Only a question, if the consumer doesn't ack the message , does the massage position chage? I mean is the not ack message pushed in the queue? thanks a lot@@IAmTimCorey

  • @angonchowdhury1385
    @angonchowdhury1385 Год назад

    Hey Tim, that was a great content. Do you have any plan to bring more tutorials on this topic?

  • @june3878
    @june3878 Год назад

    Do you have an example of a production application with asynchronous message handling and exception handling?

  • @CB-wk6kr
    @CB-wk6kr Год назад

    It would be helpful if you could provide this course-specific list.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Which course-specific list?

    • @CB-wk6kr
      @CB-wk6kr Год назад

      @@IAmTimCorey I was looking for this RabbitMQ course in the portal but didn't find it there.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      I don't have a course on RabbitMQ, sorry.

    • @CB-wk6kr
      @CB-wk6kr Год назад

      Thank you for the info, I thought you had one 😊

  • @zumanoka3310
    @zumanoka3310 10 месяцев назад

    Great tutorial, +1

  • @mayurbanta
    @mayurbanta Год назад

    Colored tabs are useful if we use vertical Tabs. Yes it will be helpful to have corresponding color in Solution explorer.

  • @olliegelton5976
    @olliegelton5976 Год назад

    Thanks🎉🎉

  • @ivandrofly
    @ivandrofly Год назад

    The drawing tool is awesome

  • @manofqwerty
    @manofqwerty Год назад

    I think discussing a long running process, such as a large file upload, is useful in these instances as you can't tell the user the status of the file upload right away.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      I'm sorry, I'm not sure what you mean.

    • @zua1283
      @zua1283 Год назад

      @@IAmTimCorey I think what mike is trying to say is that it would be nice to hear about how we could be able to show the status of say, a file upload to the client so it doesnt just hang.
      i dont know though but im assuming thats what he means

  • @hervelabrie-durand3701
    @hervelabrie-durand3701 Год назад

    Great video

  • @abhishekbevinal7495
    @abhishekbevinal7495 Год назад

    Thank you so much 😊

  • @VuvaToniKroos
    @VuvaToniKroos Год назад

    thank you, Sir

  • @12varshney
    @12varshney Год назад

    Let’s say I have 2 micro services . One is order service and other is payment . Order service can not commit until it gets confirmation that payment is successful . So if order service puts message in queue and payment service processes it then how order service get confirmation that payment is done ?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Have the order service listen for a message from the payment service about completed payments.

    • @12varshney
      @12varshney Год назад

      @@IAmTimCorey I might have 10 requests in waiting then how order service can listen for a particular response?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Each should have a unique id. Then, when the order service gets a "payment complete" message, it can use that id to figure out which order to continue processing.

    • @12varshney
      @12varshney Год назад

      @@IAmTimCorey Is this possible with RabbitMQ if yes then how ?

  • @haroldemmers6428
    @haroldemmers6428 Год назад

    Great video Tim 👍
    Could you also do DDS (Data Delivery Service)?
    And possibly how it is used in ROS2?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +3

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

    • @haroldemmers6428
      @haroldemmers6428 Год назад

      @@IAmTimCorey Done

    • @haroldemmers6428
      @haroldemmers6428 Год назад

      @@IAmTimCorey I like to do that. But I think admins need to first do a (p)review and give the thumbs up before I get that kind of option.

  • @shuvbhowmickbestin
    @shuvbhowmickbestin 10 месяцев назад

    Hey Tim, can you tell me how to make the annotations appear at 16:43 like the one called "uriString" inside the Uri method?

    • @IAmTimCorey
      @IAmTimCorey  10 месяцев назад

      Here you go: ruclips.net/video/morBKqtqmso/видео.htmlsi=0YKpnFgXE27nvQgs

    • @shuvbhowmickbestin
      @shuvbhowmickbestin 10 месяцев назад

      @@IAmTimCorey Thanks Tim.

  • @ahmedelsheikh9598
    @ahmedelsheikh9598 Год назад

    Thanks a lot

  • @andywalter7426
    @andywalter7426 Год назад

    The only thing concerning about azure service bus which is related to rabbitmq is the cost. I doubt most businesses would want to pay over 10,000 dollars a month for azure service bus no matter how good it is unfortunately. Are there any free online queing options?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +5

      Azure Service Bus costs $0.05/million messages. If you get to $10,000/month, you are either doing something wrong or you should be happy to pay that amount.

  • @giokinggioking5334
    @giokinggioking5334 9 месяцев назад

    Hi Tim I did try to download the example but for some reason I did not receive the email.

    • @IAmTimCorey
      @IAmTimCorey  9 месяцев назад

      You can email help@iamtimcorey.com and someone will help you out. Just make sure to include the details like which video you were trying to get the code for.

  • @andywalter7426
    @andywalter7426 Год назад

    Can rabbitmq be a replacement for signal r? If so, then signal r would eventually be dead. What a person would do is use rabbit mq to put to the que and whoever, takes it would do it. obviously if several parts need it, then hopefully a workaround for it. Is this intended to even replace signal r?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +4

      No, they are two completely different technologies that serve two different purposes. With SignalR, ApplicationA opens up a direct connection to ApplicationB. It then keeps that connection open as long as is needed (usually the entire length of the application's lifecycle). RabbitMQ, on the other hand, sits in between the two applications. ApplicationA sends a message to RabbitMQ. That connection is then closed (or more messages can be sent, but the connection does not need to be open all the time). RabbitMQ puts the message in the right queue and potentially alerts all interested parties (one or many). If the message is to be processed once, as was the case in our demo, ApplicationB will connect to RabbitMQ and get the message. That connection does not need to be established while ApplicationA is sending the message.
      An analogy would be that SignalR is a phone call and Message Brokers (like RabbitMQ) are email hosts. We still make phone calls, even though we can send an email and we still send email even when we could make a call. The two communication mediums serve different purposes.

  • @androidsavior
    @androidsavior Год назад

    How can we make a web app listen and recieve messages ?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      That’s what an API does.

    • @androidsavior
      @androidsavior 10 месяцев назад

      @@IAmTimCoreyit worked in a web app by placing the code inside a 'BackgroundService' and putting 'await Task.Delay(1000, stoppingToken);' inside an infinite while loop `while (!stoppingToken.IsCancellationRequested)`

  • @DavidMartin-vs1dm
    @DavidMartin-vs1dm Год назад

    Will your next tutorial be for using complex type messages?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Probably not, but I may if I get enough interest on the suggestion site: suggestions.iamtimcorey.com

  • @ivandrofly
    @ivandrofly Год назад

    Thanks Tim :)

  • @spookycoder
    @spookycoder Год назад +1

    How failsafe / resilient is the queue itsself?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +2

      Very, if you need it to be. You can set it up as a cluster or even as a set of clusters over multiple locations.

  • @hermanroro
    @hermanroro Год назад

    Currently I'm working with hangfire, I don't see the difference between Rabbit MQ and Hangfire, Can you help me please? Thank you!

    • @IAmTimCorey
      @IAmTimCorey  Год назад +3

      Hangfire schedules tasks. RabbitMQ receives messages and sends them out (think email server).

  • @neilvermeulen5283
    @neilvermeulen5283 Год назад

    Thank you.

  • @JulianAbellanAbad
    @JulianAbellanAbad Год назад

    I have an issue here. The thing is that im not very familiar with this type of applications and im trying to learn. I have thrown the dokcer container an I do have access to RabbitMQ Server. The thing is that when I run the Sender's program nothing happends. I mean, the program compiles with no errors, but when I check the server, I cannot find the exchange neither the queue. Does sb know the reason??

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Check your connection string. It may be different than mine. Also, make sure you have open ports and the ports are the correct numbers in Docker.

    • @JulianAbellanAbad
      @JulianAbellanAbad Год назад

      @@IAmTimCorey sorry for bother you again but where can i find the connection string?

  • @RANVEER.4321
    @RANVEER.4321 Месяц назад

    Great, but why do we need function app

    • @IAmTimCorey
      @IAmTimCorey  Месяц назад +1

      The function app is acting as the application that does something with the messages.

  • @TheCorruptedClan
    @TheCorruptedClan Год назад

    Can rabbitmq be used in an offline/online desktop application?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      When the app comes online, it can send and receive messages. You would just need to handle how to store the messages until you are online on the desktop side.

  • @andywalter7426
    @andywalter7426 Год назад

    I have a question. Couldn't sql server be used as a service bus? If so, then rabbit mq would be completely useless because you simply put into sql server. sql server can easily be like a que system where you put data and whoever processes it does not have to be online at the time. When they process, then can delete from sql server. what is the advantage of rabbit mq vs using sql server?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +5

      SQL is far more expensive and is not designed to be a queue. For instance, it cannot guarantee that only one application gets the message, it doesn’t do push notifications, it doesn’t handle the constant churn of messages as well, and much more.

    • @MiningForPies
      @MiningForPies Год назад +2

      I’ve got a queueing system up and running in SQL (had to do it that way because it’s managed by non developer IT people who do know sql quite well).
      It’s ok, it can easily handle 1000 requests a minute and process them individually, but when you get a backlog (say the server is down for a couple of hours) it really starts to slow down.
      RabbitMQ is designed to act like a firehose, doing testing with it in docker I had messages going through at about 1000 a second, never mind a minute.

  • @katamaran_dobrej_zabawy
    @katamaran_dobrej_zabawy Год назад +1

    Is source code sending works? I tried but didn't recieved mail.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Check your spam filter. If you don't see it there, email help@iamtimcorey.com and Tom will get it to you.

  • @GeorgAubele
    @GeorgAubele 10 месяцев назад

    I get the error message "None of the specified endpoints were reachable" in line 8 of the sender script:
    IConnection cnn = factory.CreateConnection();
    The URI is correct and the server (via Docker) is running. Does anybody know a solution?
    Die RabbitMQ change the syntax?

    • @Ignota_ludio_ludius
      @Ignota_ludio_ludius 9 месяцев назад

      Syntax is still working the same, maybe there's a small problem with the docker container.
      You can try deleting your existing container and create a new one with this line:
      docker run -d --hostname rmq --name rabbit-server -p 8080:15672 -p 5672:5672 rabbitmq:3-management
      (just paste it into cmd)
      if that doesn't work either mabye there's a typo somewhere else (that happens to me quite often ^ ^) here's the code:
      using RabbitMQ.Client;
      using System.Text;
      ConnectionFactory factory = new();
      factory.Uri = new Uri(uriString: "amqp://guest:guest@localhost:5672");
      factory.ClientProvidedName = "Rabbit Sender App";
      IConnection cnn = factory.CreateConnection();
      IModel channel = cnn.CreateModel();
      string exchangeName = "DemoExchange";
      string routingKey = "demo-routing-key";
      string queueName = "DemoQueue";
      channel.ExchangeDeclare(exchangeName, ExchangeType.Direct);
      channel.QueueDeclare(queueName, false, false, false, null);
      channel.QueueBind(queueName, exchangeName, routingKey, null);
      /*byte[] messageBodyBytes = Encoding.UTF8.GetBytes("Hello everyone!");
      channel.BasicPublish(exchangeName, routingKey, null, messageBodyBytes);*/
      for (int i = 0; i < 60; i++)
      {
      Console.WriteLine("Sending message: " + i);
      byte[] messageBodyBytes = Encoding.UTF8.GetBytes("Message #" + i);
      channel.BasicPublish(exchangeName, routingKey, null, messageBodyBytes);
      Thread.Sleep(1000);
      }
      channel.Close();
      cnn.Close();

  • @koustubhshah3735
    @koustubhshah3735 Год назад

    Hi Tim, Its a great video. I am facing some issue, can you please help me out. I need some help with RabbitMQ. I have started learning from now only. With so many trails, I have successfully code and run the program but whatever queues and exchanges I am declaring in my code, I am not able to display on my RabbitMQ management console its not updating there which I have run on localhost using Docker Container. Can you please help me out, I have researched and tried a lot but didn't work. My code is running well in console

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      I'm sorry, I can't diagnose your issue from that information. Your best option is to debug step by step. If it works in one deployment but not in another, check your connection strings. Use logging and breakpoints to validate your assumptions.

  • @marcelosilva6250
    @marcelosilva6250 Год назад

    im not getting the source code sadly, ive tried 2 different email addresses

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Check your spam filter and then email help@iamtimcorey.com

  • @sertunc-k5o
    @sertunc-k5o Год назад

    Can you make a video about masstransit? thank you

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

    • @mayurbanta
      @mayurbanta Год назад

      @@IAmTimCorey Upvoted MassTransit. Thanks for the amazing content.

  • @egldeveloper9903
    @egldeveloper9903 Год назад

    What is the best free RabbitMQ hosting provider (dev purposes)?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Host it locally with Docker. If you want to do something web-based, I would use Azure Service Bus, which will cost $0.05/1 million messages.

  • @nickadams2361
    @nickadams2361 Год назад

    wow I had no idea excalidraw had a drawing library!

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      I'm glad you learned something new.

  • @LogicException
    @LogicException Год назад

    47:08 Message #47, #49 and #48. Unfortunately, he didn't address this great case at that moment.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Order is not guaranteed. Is that what you wanted to be covered?

    • @SreeBalajiG
      @SreeBalajiG 6 месяцев назад

      It's because of difference in delay before the console log statement. 48 was processed first but printed after 5 second delay while 49 was processed later but printed before 48 due to only 2 seconds delay. RabbitMQ does try to deliver the messages in order but if consumer fails processing ordering is not guaranteed

  • @amimridul4278
    @amimridul4278 Год назад

    that's great

  • @BG-eng
    @BG-eng Год назад

    So what happens if the Broker is down?

  • @indian_geocacher
    @indian_geocacher Год назад

    Hey anyone tell me whats the setup for c#?
    on Mac

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      This will all work on a Mac. You just need to install Docker and Visual Studio for Mac and you will be set.

  • @mdzakariamasud8326
    @mdzakariamasud8326 Год назад

    Please make a tutorial on MQTT Broker (emqx)

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

  • @NOOB_TO_PRO-hk4iy
    @NOOB_TO_PRO-hk4iy Год назад

    Hi,no email received to download code

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Email help@iamtimcorey.com and they can help you out.

  • @captkalik
    @captkalik Год назад

    Do you have an example of rabbit mq with one publish event and multiple subscribers for example I publish an event user created and I want two subscribers to do something with it, like one app may subscribe to event and send text and another app may subscribe to same event and log data

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      I don't, but it is a good suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

    • @captkalik
      @captkalik Год назад +1

      @@IAmTimCorey ok added it