Publish-Subscribe Pattern vs Message Queues vs Request Response (Detailed Discussions with Examples)

Sdílet
Vložit
  • čas přidán 28. 06. 2024
  • In this video I’ll explain the message queues, the request response pattern and the publish subscribe pattern. I will also illustrate the main differences between them and when to use over another.
    Download the slides here (members get all slides for free)
    payhip.com/b/joNSn
    0:00 Intro
    0:30 Message Queues in 60 Seconds
    1:24 When to Use Message Queues?
    14:33 Request Response Pattern
    20:00 Request Response Pros & Cons
    24:11 Publish Subscribe Pattern in 60 Seconds
    25:13 Publish Subscribe Pattern
    31:49 Publish Subscribe Pattern Pros and Cons
    Support me on PayPal
    bit.ly/33ENps4
    🎙️Listen to the Backend Engineering Podcast
    husseinnasser.com/podcast
    🏭 Backend Engineering Videos
    backend.husseinnasser.com
    💾 Database Engineering Videos
    • Database Engineering
    🏰 Load Balancing and Proxies Videos
    • Proxies
    🏛️ Software Archtiecture Videos
    • Software Architecture
    📩 Messaging Systems
    • Message Queues & PubSu...
    Become a Member
    / @hnasr
    Stay Awesome,
    Hussein
  • Věda a technologie

Komentáře • 71

  • @hnasr
    @hnasr  Před měsícem

    Fundamentals of Backend Engineering backend.win

  • @thomasmartres2963
    @thomasmartres2963 Před 3 lety +10

    Thank you Hussein for all these resources, you're a proper G.

  • @SyedAli-rl8de
    @SyedAli-rl8de Před 2 lety +1

    You are a blessing.these contents for free is life

  • @mannion1985
    @mannion1985 Před 3 lety +1

    Put this in my watch later just dropped in to say you are doing amazing work with your channel.

  • @riderprovider6213
    @riderprovider6213 Před 3 lety +4

    Came from LinkedIn for watching this awesome explanation

  • @varunupadhyay3836
    @varunupadhyay3836 Před 3 lety +1

    Thank you so much for this. Really good overview.

  • @maheshtenapali8938
    @maheshtenapali8938 Před 3 lety

    I have a user story for testing next week to work on pub sub using Kafka......it's very useful.... this session is useful...I gained some knowledge

  • @prathameshmahankal4180
    @prathameshmahankal4180 Před 2 lety +1

    This content is gold.

  • @AshutoshAnandashu
    @AshutoshAnandashu Před 3 lety +28

    Such a coincidence, was just learning about Pub/Sub and Cloud Tasks (Queues) in GCP. This is valuable.

    • @ritwizsinha1261
      @ritwizsinha1261 Před 3 lety +1

      Same happened with me, I was deciding whether to use pub sub vs queue in a project

    • @murugankannan7285
      @murugankannan7285 Před 3 lety

      Same for me

    • @ritwizsinha1261
      @ritwizsinha1261 Před 3 lety +1

      Do not go to flixzone, its a shady website, the above two are bots

    • @MT87840
      @MT87840 Před 4 měsíci

      Not a coincidence, they're spying on us! :D

  • @ritwizsinha1261
    @ritwizsinha1261 Před 3 lety

    Great Hussein, read my mind

  • @marouanebenmoussa1289

    U got me in that's what she said ! thank you for these valuables videos

  • @hafizhabdillah3030
    @hafizhabdillah3030 Před 3 lety +1

    thanksss broo, really enjoy how you explain all these things

    • @hafizhabdillah3030
      @hafizhabdillah3030 Před 3 lety

      czcams.com/video/DXTHb9TqJOs/video.html
      can i ask ?
      ive built message queue service using rabbitMq. as you said, once the request has been received by the server, we can sent the response to the client with identifier, so they can come back to check the condition for that request. talking about channel, so in this approach you talk about, we set the client to subs to same channel as the server use ? and there wont be any request response to check the condition for that request ? . for my case, iam still using request response for the client to check the condition of thier request before, and for the ux its really annoying for me (?) because they have to refersh the request to check the updates

  • @mohammadakbari5180
    @mohammadakbari5180 Před 3 lety

    Awesome bro. keep going.

  • @erikslorenz
    @erikslorenz Před 3 lety +1

    This is by far my fav youtube channel

    • @hnasr
      @hnasr  Před 3 lety +1

      🙏

    • @erikslorenz
      @erikslorenz Před 3 lety

      @@hnasr no one else ever talks about the back end!! This is required viewing for the guys I hire.

  • @abhay8437
    @abhay8437 Před 3 lety +4

    Half of the comments be like: Damn, the timing of this video, I was just reading about this. Holy mother of coincidences.
    Also, it's not a 44 minutes lecture, it's [44 / play speed] minutes lecture. I recently gave a system design interview, had this been uploaded earlier, I would have nailed it.

  • @ibknl1986
    @ibknl1986 Před 3 lety +1

    What a wonderful way of explaining.

  • @assimd7790
    @assimd7790 Před měsícem

    Very informative video.

  • @sfsf285
    @sfsf285 Před 3 lety

    Thats awesome thanks

  • @dhikshithrm
    @dhikshithrm Před 3 lety

    the bicycle animation was epic😂😂

  • @cyrilogoh6171
    @cyrilogoh6171 Před 3 lety

    2 courses finished in 30 min 😅😅😅thanks

  • @iamrafiqulislam
    @iamrafiqulislam Před rokem

    Awesome Roses!!!

  • @raochaudhriIT
    @raochaudhriIT Před 2 lety

    Thanks!

  • @Gerald-iz7mv
    @Gerald-iz7mv Před 2 lety

    can you use rabbitmq and kafaka here? im asking because kafka is more for streaming? or can you tune kafka to work like rabbitmq?

  • @ivandrofly
    @ivandrofly Před rokem

    Thanks

  • @adrianfgutierrez2836
    @adrianfgutierrez2836 Před 3 lety

    Hussein, you have an opinion about Mercure?

  • @04minutes53
    @04minutes53 Před 3 lety +1

    Im a fan of your knowledge.please use images more,if possible animations like tech with Nana channel.

  • @ebinantoneyt5978
    @ebinantoneyt5978 Před 3 lety

    please do a video on NATS

  • @colinmaharaj
    @colinmaharaj Před 2 lety +3

    I did my own disk back queues years ago. It uses a get/set/delete logic. The producer sets a value, the consumer gets it and the consumer deletes it once it has validated it has gotten the data correctly. Also it's FIFO based and there is no data loss in a power outage

  • @hanifali3396
    @hanifali3396 Před 3 lety +9

    28:50
    "Obviously, this guy has to be up all the time.... That's what she said" XD

  • @HellGuyRj
    @HellGuyRj Před rokem

    Heelo Sir. I have a question. Are you a god? cuz ur contents are godly.

  • @hemanthaugust7217
    @hemanthaugust7217 Před 3 měsíci

    for request-response, you mentioned that client/server have to be running as a Con.
    When you use Queue, both Client & Queue have to be running. So, we just shifted the point of failure from server to queue, that's all. How is this not a con for MQ?

  • @alek282
    @alek282 Před 3 lety +1

    For request/response model, do we not solve the issue of blocked requests with event based architectures? ie in JavaScript you encapsulate requests / responses with promises. So if you send a request, you are free to do other things on the client. You are still blocked on that particular request in a sense but you are free to report some feedback to the user

    • @hnasr
      @hnasr  Před 3 lety +3

      Good question, javascript promises only provide a client side asynchronous behavior, the backend is still synchronously processing your request.
      This video describes the asynchronousity on the backend
      And if you are taking about JS promises on the backend than it depends on workload. Most workloads will go on the mainthread which will still execute requests synchronously and block.
      More here czcams.com/video/gMtchRodC2I/video.html

    • @alek282
      @alek282 Před 3 lety +1

      @@hnasr Thank you Hussein! Just to let you know im framing the "Good question" part :)

  • @a7md940
    @a7md940 Před 3 lety

    انت راجل ميه ميه..
    سؤال.. بالنسبة للمثال بتاع اليوتيوب uploading video
    لو الففيديو حجمه كبير 2جيجا او 4 مثلا هيكون سهل على ال message broker يبعته في ال queue لل consumer ؟
    اقصد حجم الملف مش هيعمل مشكلة؟

    • @hnasr
      @hnasr  Před 3 lety

      سؤال ممتاز، يعتمد اذا قررت حفظ الفيديو في المسج كيو ام لا. شخصيا افضل حفظ الملف في blob ستور ووضع وصله في الكيو

    • @a7md940
      @a7md940 Před 3 lety

      @@hnasr لو عملت موضوع الوصله ده.
      هل هحتاج shared storage
      عشان ال distributed services؟
      ولا السؤال بتاعي غلط اصلا بسبب عدم فهمي الكامل للموضوع؟

  • @KamalnathPolakam
    @KamalnathPolakam Před 3 měsíci

    That's so haaarddd! That's what she said as well! ;-P

  • @yangbi6788
    @yangbi6788 Před 3 lety +2

    I'm so distracted by the jokes you put into those videos.
    28:48
    "Obviously this guy has to be up all the time, that's what she said." lmao.

    • @hnasr
      @hnasr  Před 3 lety +1

      Distraction is good 😌

  • @khushbuchoudhary5185
    @khushbuchoudhary5185 Před 2 lety

    I became a member today in order to download the slides for this course but I am still being asked to pay 0.99USD.Can you please look into it.

    • @hnasr
      @hnasr  Před 2 lety

      Hi , you can go to your membership tab and find link to download all slides along side over 60+ member only videos

  • @robertmazurowski5974
    @robertmazurowski5974 Před 2 lety +1

    ME: "Hussein are you telling me there is something better than that where the client can go offline and the server can go offline, and still they can communicate?"
    Hussein: Yes, Quantum-Psychic-Biological computer. It is not on or off because it is biological, It is multidimensional and communicates with brainwaves even between dimensions.
    Happy April fools!

  • @smithmarta
    @smithmarta Před 2 lety +1

    *guys and gals!!! :)

  • @nicknick1411
    @nicknick1411 Před rokem

    God, he has beautiful eyes!

  • @youssefelshiaty5343
    @youssefelshiaty5343 Před 2 měsíci

    22:25 😂😂😂

  • @iamshadmirza
    @iamshadmirza Před rokem

    Publisher is Gary vee 😂

  • @SiimKoger
    @SiimKoger Před 2 lety

    Half of those problems would not exist if Garyvee was banned from the internet.

  • @ibknl1986
    @ibknl1986 Před 3 lety

    Kafka

  • @pabastian
    @pabastian Před 3 lety

    first comment

  • @hemanttoday
    @hemanttoday Před 2 lety

    Kindly improve content. Substance should be more and cut down other discussion.

  • @f135ta
    @f135ta Před 2 lety

    Horrendous. Thanks.

  • @f135ta
    @f135ta Před 2 lety

    Absolute waffle.. You couldnt even explain the difference between sync and async clearly.. I cant trust a word you say..

  • @omarkarim9298
    @omarkarim9298 Před 3 lety +1

    You need to be more to the point man, content is first class, but you drag on way to much.

    • @zedzpan
      @zedzpan Před 3 lety

      That's part of his attraction. His flare and passion enforces his videos. If you want plain, go find Jane.

    • @f135ta
      @f135ta Před 2 lety

      The whole thing was waffle, lacked any actual facts and the more i think about it - it was entirely useless.. I’m not sure if this was aimed at junior developers or something but anyone with at least 6 months dev on their CV needs to go elsewhere for a proper grown up answer

  • @AgentZeroNine1
    @AgentZeroNine1 Před 3 lety

    Ugh. CZcamsrs recycling their instagram content is the worst. Nothing like watch portrait videos on a laptop. Maybe I should turn my laptop sideways :-/