RabbitMQ Crash Course

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

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

  • @hnasr
    @hnasr  4 года назад +37

    TOC - RabbitMQ Components 2:00
    Spin up docker RabbitMQ container 8:30
    Write a Publisher client NodeJs 11:00
    Write a consumer client NodeJs 20:30
    My thoughts on RabbitMQ 33:50

  • @r7butler
    @r7butler 4 года назад +168

    People comment not liking Hussein's voiceover or talking style, but in my personal opinion, it keeps me awake so it's a good thing

    • @魔君在放克
      @魔君在放克 4 года назад +3

      I speed up the play by x1.75, his tone gone.. so I can concentrate on what he is saying

    • @ibraheemkhaleel9607
      @ibraheemkhaleel9607 3 года назад +1

      Cant agree more

    • @user-zf4nq1dy2n
      @user-zf4nq1dy2n 3 года назад +3

      Yeah, just stopped and tried to find another video just because of this "talking style"( It's a shame, the content is good

    • @allenhe9000
      @allenhe9000 3 года назад +2

      I prefer this style compared to the others.

    • @metalalive2006
      @metalalive2006 3 года назад

      I'd say most of his videos provide insights and good quality of technical detail , it would be much better if he can keep long story short , majority of people (maybe engineers also) nowadays just lose patience when they feel that they cannot finish watching / reading such video in a short while (maybe few minutes, less than half an hour)

  • @rafiramadhana2352
    @rafiramadhana2352 4 года назад +37

    What I like from most of your videos is that sometimes you also talk about lower OSI layers, peeling up the abstraction. It is cool, different, and solid. Thanks for developing this channel.

    • @hnasr
      @hnasr  4 года назад +6

      Rafi Ramadhana thanks Rafi! Appreciate the feedback 😊

  • @ryanr9193
    @ryanr9193 2 года назад +6

    I'm only halfway through and this is already the most valuable RabbitMq tutorial I've seen thus far.

  • @Xlaudiuz
    @Xlaudiuz 4 года назад +5

    Before i came to this video i knew NOTHING of RabbitMQ, and after just the introduction i got a pretty good understatement of the basic functionalities, thank you for translating this to human language!

  • @micooldra
    @micooldra 5 лет назад +91

    You're hilarious dude, and thanks for making my life a little easier!

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

    I like that you explain it slow and with passion, not like the most of youtube videos "RabbitMQ in 5 seconds"...

  • @ГринькоДмитрий
    @ГринькоДмитрий Год назад

    I`ve found this channel just couple days ago. VEry gib respect to author. Very clear, a bit humorous. And of top of that, just go throw list of videos. He covers a great topics. Thank you so much

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

    Man, I just love the way how you explain things. Your RUclips channel is a gem!

  • @Ad9911io
    @Ad9911io 2 года назад +2

    My team lead told me to learn Rabbitmq for a future project. As a Junior dev I got freaked out, but now after this video it doesn't seems too much complicated, ofcouse i haven't dived deeper yet, but still the basic was pretty fine.
    Thank you!
    Btw love your talking style, very refreshing and not boring at all!

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

    It's late to write "Kafka", but it was great, and thank you for this great video.
    Please keep updating :)

  • @ahmetcolak4839
    @ahmetcolak4839 2 года назад +1

    Hey, you have real clear style of teaching, appretiate that. But I am afread I cannot imagine a crash course about RabbitMQ without explaining the exchanges, binding keys and queues.

  • @adriancor1344
    @adriancor1344 4 года назад +1

    I was listening the whole video in background while I was doing other work stuff, when I'm done at work I have to Watch the video, it sounded very interesting .

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

    God Bless You Brother. You teach very nice. Please be blessed and blessing for others. Love you brother😇

  • @sakuranasty
    @sakuranasty 3 года назад

    It's true, I can't approach rmq along with celery, because I just can't make connections in my head because of all the terms, and if you also mention details for each term your head is going to explode ) thanks for the video)

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

    Thank you so much for this video!! I'm preparing for an interview tomorrow and this was so helpful! Now I'm going to search for the kafka video 😄

  • @victorkarangwa2378
    @victorkarangwa2378 4 года назад +3

    Thank you so much, Hussein.
    I like your speaking style. It made me active on this tutorial until the end.

    • @hnasr
      @hnasr  4 года назад

      Thanks Victor

  • @OSCAR-CH
    @OSCAR-CH 3 года назад +1

    I learned rabbitmq with this video. I loved the passion this man inspires on each video

  • @timuryalta
    @timuryalta 4 года назад +9

    Genuinely best rmq tutorial on youtube

  • @lucyshen0222
    @lucyshen0222 5 лет назад +1

    Very nice to see an example using async and await.

  • @zobaidulkaziex
    @zobaidulkaziex 7 месяцев назад

    Very nice discussion I was looking for a long time I am very glad to find one like this and I see all of it

  • @hearyourmood9633
    @hearyourmood9633 3 года назад

    very interesting videos, hilarious teaching style, feel like watching a good movie. 0% boring

  • @s.ahmadparkhid3057
    @s.ahmadparkhid3057 2 года назад +2

    This course is amazing... I'll CONSUUUUUUUUUME it.

  • @ameyabapat9090
    @ameyabapat9090 2 года назад

    GREAT enthusiastic explanations !!! Plz do Kafka. Also video on pros and cons of different queuing systems and when to use which.

  • @GamerzFavourite
    @GamerzFavourite 4 года назад +3

    superb men, now I can teach my old fashioned office guys this tech. HAHAHA.. I am gonna rockkkkkk... Thanks..

  • @farhatshahir342
    @farhatshahir342 4 года назад

    Every minute of explanation is just making me speechless. Lots of love for you!!!

    • @hnasr
      @hnasr  4 года назад +1

      Wow, thank you!

    • @farhatshahir342
      @farhatshahir342 4 года назад

      @@hnasr you are more than welcome

  • @Mystterriks
    @Mystterriks 4 года назад +5

    You explaining things in an awesome manner! Love it!

  • @sagartyagi2450
    @sagartyagi2450 3 года назад +1

    Here are few problems which one can find interesting:
    1. Whats if multiple consumers are connected to a single Queue, and only one of them acknowledges the message and due to some reason the other consumer failed and want to process the message again, how to do this?
    2. I can clearly see, very soon there will be a huge need to load balance this Pub Sub Queue model, being a stateful model is very tricky, how fo we tackle that?
    Thank hussain for a wonderful tutorial. Don't need your answers on this, just wanted to share my thoughts.

    • @hnasr
      @hnasr  3 года назад

      Good insights
      1) the message that is not acknowledged because of a failure won’t be removed from the queue so the next client that starts will pick that message again. All sorts of problems with that, did the message actually got processed but couldn’t acknowledge? Did the acknowledge message get lost? Look up the two general problem
      2) not sure about RabbitMQ (i think yes) but kafka does have distributed queue
      Glad you liked it!

  • @parasmaniseth7873
    @parasmaniseth7873 3 года назад +1

    WTF guys....who is talking abt his bad accent n all
    Just remember one thing...he knows English language hence dats why we are able to get KT...otherwise this gem 💎 would not be accessible to wide audience

  • @juancarlosgonzalez9722
    @juancarlosgonzalez9722 4 года назад +1

    Good, simple, straightforward explanation with easily replicable example. Thank you.

    • @hnasr
      @hnasr  4 года назад +1

      Juan Carlos González thanks Juan Carlos! Appreciate it 🙏

  • @franciscocarneiro9242
    @franciscocarneiro9242 4 года назад +7

    Awesome video! Thanks for another great one Hussein!
    I recently discovered a really interesting stack of technologies called the TICK stack. Its four technologies so might be a little heavy for one or two videos, but I would love to hear your opinion on it and see you spin it up on docker and do some cool stuff with it!
    Cheers!

    • @hnasr
      @hnasr  4 года назад +1

      Francisco Carneiro thanks Francisco!! Will check out the TICK stack. First time I hear about it

  • @anthonyfarias321
    @anthonyfarias321 5 лет назад +3

    This is great for start. It'd be great if you could extend this topic for a real life use case. I have read rabbitmq can be used for push notifications. How about a tutorial for that?

    • @hnasr
      @hnasr  5 лет назад +2

      Loved that idea thanks for the suggestion. RabbitMQ as We discussed supports push by default so it make sense to be used for push notifications.. but honestly I think redis is better and easier to implement for such use case just because of how complicated RabbitMQ is.. still good use case and would to consider making a comparison video.. thanks! Cheers

  • @tedd1172
    @tedd1172 4 года назад

    God... Watched 10 videos continuously...best channel for backend Guyz...Keep posting..:)

    • @hnasr
      @hnasr  4 года назад +1

      Thank you so much 😀 enjoy!

  • @frangalarza
    @frangalarza 3 года назад

    2 minutes into the video and I already love your style!

  • @zebcode
    @zebcode 4 года назад +1

    Your presenting style is awesome.

    • @hnasr
      @hnasr  4 года назад

      Appreciate you Kiran. Thanks 🙏

  • @hazlotumismo1419
    @hazlotumismo1419 4 года назад +3

    I tried to implement rabbitMQ for fast Performance Endpoint, I didn't find enough information to my errors, apache kafka worked much better...

  • @govindasgarden
    @govindasgarden 4 года назад +5

    Found your channel today and subscribed. Much love! I really like your style and am looking forward to watching your other videos.

    • @hnasr
      @hnasr  4 года назад

      Thanks Lee appreciate your message! Enjoy the content and let me know what should I talk about next

  • @GB-mi5he
    @GB-mi5he 3 года назад

    You are a great teacher and you make me laugh

  • @Dylank1978
    @Dylank1978 2 года назад

    Dude you are super listenable..... thanks for this.

  • @danuzonez
    @danuzonez 5 лет назад +6

    Very nicely explained. I love your videos.

    • @hnasr
      @hnasr  5 лет назад +1

      Atif Ali thanks Atif!

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

    Its very hard to find good rabbitmq crash courses. Thanks for making the video Hussein,

  • @lovefamilychildrenhappines9330
    @lovefamilychildrenhappines9330 4 года назад +1

    I am glad you used Node for the demo session. While all languages have their pluses and minuses, at least with Node, you picked a universal language in JavaScript that developers in all industries can relate to.

  • @pablohernandez4305
    @pablohernandez4305 3 года назад

    thanks for the video I will take a look at kafka before I start learning either of the 2.

  • @meshaelshahid7082
    @meshaelshahid7082 3 года назад +1

    My concepts went from 0 to 100. Thanks man

  • @umittas20000
    @umittas20000 2 года назад

    Hey Hussein. Your explanation is very nice and also your text readability is just perfect on screen. Thank you for sharing. Great job!

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

    It was such a great video, Hussein.
    Please make more videos on backend stuff.

  • @venkateswaran8752
    @venkateswaran8752 4 года назад +1

    past two weeks onwards watching your awesome videos the phrase "let's jump into guys" was always running in mind Hussein

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

    You're have awesome energy, Man. Great Content!

  • @rightangleoverseas2391
    @rightangleoverseas2391 3 года назад

    Hussein, you have real, real goddamn value in your videos. I am so thankful for the knowledge you're imparting !

  • @faizanvanekar7882
    @faizanvanekar7882 4 года назад

    An Awesome Video !!. Can you also do an admin video for RabbitMQ ? Like how to manage the queues, how to republish a queue. How to republish a dead letter queue etc or if u already have it, kindly point me to it. Thanks a lot and your entire video is awesome and not boring at all. Keep up the good work of teaching others...👍

  • @moeruishi
    @moeruishi 2 года назад

    This just helped me understand the architecture of a codebase I’m to work on. Thanks a lot! Awesome content

  • @sravs7929
    @sravs7929 3 года назад

    Your style of explaining and content is dope💗..I will get sleep if pitch and tone is consistent for long time..ur videos at 2x is perfect for me..

  • @Daniel-to5jd
    @Daniel-to5jd 3 года назад

    This is the best video about rabbitmq that I have seen so far, you know how to explain it well! Thank you, I subscribe

  • @mohamedshlibik6190
    @mohamedshlibik6190 3 года назад +1

    Thanks mate, your effort and style are great

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

    Thank you very much for the video!!!

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

    Please make a video on how you study, just how mahn awesome ❤

  • @TheMillw0rm
    @TheMillw0rm 4 года назад +4

    thanks Hussein you're doing great

  • @scubadawg91
    @scubadawg91 4 года назад

    Excellent video! I really enjoy your enthusiasm for the topc.

    • @hnasr
      @hnasr  4 года назад +1

      scubadawg91 🙏 I appreciate that thanks 😊

  • @eduardomihalache8568
    @eduardomihalache8568 2 года назад +1

    Best practice says to not open a channel each time you are publishing, and keeping connection long-lived. There is a benefit of closing connection and channel on publisher?

  • @pheisar
    @pheisar 5 лет назад +2

    Thank you for this great content. Looking forward for the Kafka one. 👍

  • @riteshksheersagar249
    @riteshksheersagar249 3 года назад

    Amazing video. Learnt a lot.
    You remind me a lot of Michael Scott from 'The Office'

  • @youee1234
    @youee1234 5 лет назад +1

    Thanks Hussein! you are a awesome ! and simlpe clear!

    • @hnasr
      @hnasr  5 лет назад +1

      Glad it is! let me know if there is anything I could do better or simplify or if there is a point I probably missed (which I probably have haha) Cheers! and stay awesome!

  • @rajnishsagar7307
    @rajnishsagar7307 4 года назад +1

    Hey! you are great .. very nice explanation. this helped me to learn rabbitmq work flow. Thanks

    • @hnasr
      @hnasr  4 года назад +1

      I am happy I could help! Thanks for your message 😊

  • @ruhnet
    @ruhnet 3 года назад

    Great video, fantastic example.

  • @viniciusalvess
    @viniciusalvess 3 года назад

    Great video Hussein, thank you!

  • @quequel5083
    @quequel5083 3 года назад

    This course is amazing... Thank you so much!!!!!

  • @mattmarshall1834
    @mattmarshall1834 4 года назад +1

    Great video. Very entertaining.

    • @hnasr
      @hnasr  4 года назад

      Thanks Matt!

  • @FamilyGuySweden
    @FamilyGuySweden 4 года назад +1

    Great work Hussein! That was really helpful.

    • @hnasr
      @hnasr  4 года назад

      Glad I could help 😍

  • @senthilkumarnadarajan2247
    @senthilkumarnadarajan2247 2 года назад

    What an explanation! Nice :)

  • @nicolass8941
    @nicolass8941 4 года назад +1

    Crazy dude ;))) thx for happy moment

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

    what a energy, cool

  • @craigfreeman8225
    @craigfreeman8225 3 года назад

    Good video. Did feel like Elmo was talking to me though.

  • @sidathbhanukarandeniya7965
    @sidathbhanukarandeniya7965 3 года назад

    Excellent explanation !!

  • @mohammedelaissati
    @mohammedelaissati 4 года назад +2

    from morocco, good video

    • @hnasr
      @hnasr  4 года назад +2

      mohammed el aissati عاشت ايامك تحياتي لجميع المتابعين من المغرب الحبيبه

  • @chihabahmed5207
    @chihabahmed5207 3 года назад

    Can you do a video on Nats streaming, it can handle more messages than rabbitmq but does not hold messages in database. I am currently building a microservice app and I am using Nats but I am tempted to use rabbitmq and the only thing that make them difference is the ability to persist messages (if I am not wrong in regards to RabbitMQ) and also in Nats you can have multiple consumers listening to same queue (not sure with rabbit mq) and only one of them can process that message.
    This is very good when you have multiple replicas of server or multiple instance of servers and one of them can process the message.
    The down side to this is that, if the system is down (Nats streaming) then all messages are gone) other than that it can handle
    so you have to find a way to hold the un acked messages and push them from your db to nats to other services where it's appropriate.
    what's your input on this ?
    a video comparison on the two and their limitation would be a great idea brother Hussein.

  • @aseemmangla6649
    @aseemmangla6649 2 года назад

    I have a doubt regarding RabbitMQ installation. Either we can directly install RabbitMQ software manually or we can install it via docker.
    Which method we should use?

  • @steveh4595
    @steveh4595 4 года назад +1

    I'd like to see you do a video on zeromq. It seems less complex to me.

    • @hnasr
      @hnasr  4 года назад

      Good idea! Added to the list. Thanks Steve

  • @a_k__
    @a_k__ 3 года назад

    can you tell why QoS in MQTT is considered a feature of MQTT where http over TCP is checking for delivery as well?

  • @georgesmith3022
    @georgesmith3022 4 года назад

    Hi Hussein. thanks for the very good video. However I don't understand where task Queues like Celery fit into this. Can you explain why we need Celery + rabbitmq?

  • @rahulkumarsingh1716
    @rahulkumarsingh1716 5 лет назад

    was looking for rabbitmq for long time. thanks :)

    • @hnasr
      @hnasr  5 лет назад

      Enjoy the course! 😊

  • @elyu_vibes
    @elyu_vibes 4 года назад +1

    Very nice tutorial! This is really helpful to me. Would it be possible also to include header? For example the consumer expects the message to have a valid header authorization sent by the publisher (let's say a JWT token, Authorization: Bearer eyj-some-token)

  • @atexnik
    @atexnik 3 года назад

    When I hover over message, it doesn't show anything. How do you trigger opening that window in VSC?

  • @НиколайСладкий-н4к
    @НиколайСладкий-н4к 4 года назад

    What a great video, great channel and great guy called Hussein!!!)) Thank you sooooooo much for your work and videos, keep up the good!

  • @LawZist
    @LawZist 5 лет назад +1

    Hi Hussein, does rabbitMQ (and MQ in general) use the pub/sub pattern? can the consumer subscribes to the publisher and wait for a message without the need to actively consume them on its own?

    • @hnasr
      @hnasr  5 лет назад +3

      That is correct RabbitMQ as I explained in the video uses Pub/sub pattern. Where you have subscribers (consumers) connecting to a queue and a publisher publishing to a queue.
      As for your second part of your question RabbitMQ uses PUSH model where a consumer connects to a queue and any message published to the queue will be automatically PUSHED to the consumer/subscriber without the subscriber has to request actively it by itself. Kafka also uses pubsub pattern but they use different message delivery approach (not push) they use long polling..
      Im making a pubsub video that will be posted in the coming days.. stay tuned and keep these interesting questions coming
      Have a great weekend 😊

  • @romantsyupryk3009
    @romantsyupryk3009 4 года назад +1

    Thanks so much for this video tutorial.

  • @kayeshparvez
    @kayeshparvez 3 года назад

    it helped me a lot !! thank you :)

  • @ZzBiazZ
    @ZzBiazZ 5 лет назад +1

    Yes, I do want a kaffka tutorial, please do it :p, thank you so much ........

  • @rlustemberg
    @rlustemberg 3 года назад

    Great stuff Hussein! Any plans on doing a Redis Streams episode?

  • @rabbyhossain6150
    @rabbyhossain6150 3 года назад

    Those abstractions are not unneeded they give you more flexibility.

  • @nithishkarthik9163
    @nithishkarthik9163 3 года назад

    how does rabbitmq acknowledge which consumer has received the message, does it maintain state for that?
    if 3 out of 10 consumers have not received it, does it remember that they have not received and maintains a state for that?

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

    how do you have completions in vscode before installing the library?

  • @joshuagainey9669
    @joshuagainey9669 5 лет назад

    Outstanding, love the high quality videos!

    • @hnasr
      @hnasr  5 лет назад +1

      Joshua Gainey Thanks Josh! Enjoy the content 🙏

  • @vladimirgorea8714
    @vladimirgorea8714 3 года назад +1

    Loved the final thought on crazy abstractions. An engineering solution should extract complexity not make it worse.

  • @cibureh2684
    @cibureh2684 4 года назад +1

    Awesome video!

  • @farhatshahir342
    @farhatshahir342 4 года назад

    More than awesome!!!!!!!

  • @rogerthat_shorts
    @rogerthat_shorts 2 года назад

    Failed to establish message queue error...Any suggestions how to resolve.

  • @naftalimurgor9767
    @naftalimurgor9767 4 года назад +1

    the energy awwsome!

  • @noclueguy
    @noclueguy 4 года назад

    Came here to understand rabbitmq and its exchanges
    7:39 Hussein: "you don't have to know about this, we're not gonna talk about exchanges"

    • @hnasr
      @hnasr  4 года назад

      Aleg Malinovsky 😅 sorry I do need to make another video about exchanges.

  • @KangJangkrik
    @KangJangkrik 4 года назад

    I wish I have instructor like you

  • @tdias25
    @tdias25 5 лет назад

    i just read this term this week and you made a video about it lol

    • @hnasr
      @hnasr  5 лет назад +1

      yes! new thing to learn thats what makes good software engineer! Enjoy