I normally don't comment anything on youtube videos but this playlist has been so informative n helpful that I had to stop by to appreciate all the hard work. Kudos !!
Even after lots of content on youtube you still thought to create your own videos which is much much better than others. Thank you for sharing 🙏. Keep creating content like this. Even i'm mobile application developer still likes it. :)
Wow. A simplest way to explain an unknown. Your presentation skills are good. Talking slowly, clearly with simple words are plus. Examples chosen are also good. great job.
Thanks for this video. This is extremely well explained throughout the session. I would recommend everyone who keeps willing to learn various components of system design and engaging themself to learn and understand something better. Thanks a lot 👍✌️
First of all, Great video thank you, and much appreciated. I have a question. at 16.39, you mentioned the downside of FIFO. but the use case you mentioned about c2, c3, c4 being blocked because of M5 doesn't make sense to me (sorry if I didn't understand it properly). M1 -> C1 M2 -> C2 (will this happen after M1 is completed? if yes, what is the advantage of having multiple consumers)? M3 -> C3 M4 -> C4 Now looping again. M5 -> C1 (Failed) but if the consumer is working in parallel, by the time C1 completes M5, C2 will pick up M6 and others so on. let me know if i make sense?
Hi yogita, I am really grateful for your videos. These chunks of information are so beneficial and I am loving knowing all about system design. There is one request if you can make one video on design patterns such as singleton, facade, etc. I am having a hard time understanding it. Thanks in advance. 😊
Thanks for the playlist. One doubt- In case of ordered Message queue, suppose we have 3 consumers, c1 is processing m5, c2->m6, c3->m7 and now the processing of m5 fails, what would happen with m6 and m7 as they were already popped from the MQ? Or, is it that the messages are not been assigned to the consumers parallely?
If MQs remove the messages after the acknowledgement (that the message has been processed) from a consumer, then in case of multiple consumers, what stops the other consumer from processing the same message? i.e. same message is being processed by two consumers (which is not wanted and may leave the system in an inconsistent state). How do MQs solve this problem?
I just subscribed by watching this video, superb explanation with real time examples, Thank you so much, please change the color of the marker it is not visible clearly
I have a question. If messages are processed one after the other, then what's the use of having multiple consumers. Or all these consumers are performing some different tasks?
maybe it was by slip of tongue, read it as "before" instead of "by". I think actually what she means is "If every request has to be served before the previous request". (here previous means the request coming later, I think she had queue of request in her mental model that is why she said before). So if there are requests in the order Rn, ... R3, R2, R1 and if there are no message queues and iff R1 has to be served/processed before R2.... I hope this helps!
Thanks a lot for this great content. I have a question.. Let's say user1 sent 5 messages(M5, M4, M3, M2, M1) to user2. using the producer consumer model we push those messages to a queue.. Now, user1 has instantly decided to delete the M4 message(which is not yet processed by the consumer). what we are supposed to do in this case? do we delete that message from the queue? if yes, how do we do that? or we mark that message as deleted?(so, that we show to user2 as this message got deleted). ignore if any mistakes.. Thanks
Usually in such case you would send M6 which un-does the actions that are done by consumer when M5 is processed. Let's say M5 has the event/data that after consumption sets a value of a variable x from 5 to 10. Then, you can send M6 to set value to 5 again. I would have to check the exact mechanism for deleting messages. Usually messages are deleted from queues after consumption happens.
Can anyone explain me what is the publisher subscriber model that was mentioned in the summary. I have checked the entire video but can't find the meaning of this term
so what im hearing is this: client -> MQ -> DB MQ takes the requests from the client and lines them up accordingly first come first serve. then the MQ basically allocates how quickly the clients can ping the DB without crashing it. then theres a response queu where the DB responds back to the client. is that fair to say ?
I really like your videos but one suggestion is that can you add also some free source when we can practice some questions asked in interview after learning the concepts
First thanks for your great efforts. I have a question at ordering messages with many consumers.. are consumers don’t work in parallel to consume messages.. specially in the case of if fail any message,, remaining consumer don’t take any messages till it passed.. is that right??
Good question. I think the order of taking up from messaging is of priority. No the processing in consumers. Even for a chat application, the image might be processed later and will arrive later than simple text. Correct me if I am wrong
Hi yogita Loved your content But I didn't find code snippet regarding queues in the description, can u pls let me redirect to that link or provide that link
Really great insight, Ma'am, it would be a great help if at the end of the series you implement a small project following each concept you taught. Thanks a lot for sharing your knowledge ma'am.
Hi Yogita! Excellent video I have a question. While Message queues are used for Asynchronous communication, what can be used for Synchronous communication?
Can someone tell me some major differences between Producer/Consumer and Publisher/Subscriber? Both are different but works on same pattern. I am a bit confused.
Sure Gaurav. Producer/Consumer is used when the consumption rate is 1per message. Whereas pub/sub model is used in the case where one message can be consumed multiple times. Let's say we have a message queue with messages M1, M2,M3 in the same order. Incase of producer/consumer, if M1 is consumed/processed by any consumer than it would be deleted from the queue. Whereas incase of pub/sub, M1 can be processed by multiple subscribers. You will be more equipped with these terms once we release the next video which is on pub/sub model 😅
Got it completely and resolved a critical issue while occuring at scaling of server. It is working with pubsub but not with producer/consumer. Now, I know the reason. Thanks a lot😁
Hi Yogita! Firstly, great stuff...really worth watching. I could not find the code snippet you were talking about. It would be great if you could mention the link once again.
Messages are not Actions(task) sent from producer to consumer. Message contains payload ( data ) like the date range and customer details for generating invoice. Consumer could a service (to generate invoice report based on payload data of message. appreciate the effort.
Messages can contain data, any data that needs to be communicated between two components of a system. It can be event, task, task definition, config and so on.
@Yogita - Super Awesome, such a hard work you have done for us, request you please make playlist on KAFKA, need to know more details of KAFKA at such micro level. Thankyou :-)
Does the OTP that we receive during any verification process follow this principle ? And sometimes we don't get the OTP for too long, does that mean that the Consumer end is down ? Please correct me if I'm wrong.
Sync processing can be applied when a delay in response is OK. OTPs should be immediate and cannot use messaging for OTP generation. Aync messages are useful when the request or is not expecting an immediate response. Like generating monthly statements, generating analytics etc
I normally don't comment anything on youtube videos but this playlist has been so informative n helpful that I had to stop by to appreciate all the hard work. Kudos !!
I totally agree. Amazing work here 🙏
x2. I think she is really amazing. I have been enjoying this Playlist...
mujhe bhi padha do rishi sir
@Rishi Sharma
Thank you for making these videos. I passed my architect interview because of you!
Congratulations 🎉
Even after lots of content on youtube you still thought to create your own videos which is much much better than others.
Thank you for sharing 🙏. Keep creating content like this. Even i'm mobile application developer still likes it. :)
litreally yrr watching this content in 2024 , well appreciated
No words to say how much i appreciate your videos !
Thank you for the class. I don't need any other resource to understand Message Queues, with this video i got it clear.
I am really very glad that I came across this channel! The way you explain concepts are just WOW!
Appreciate the playlist of great videos, presentation style(no bakwas & only information) and links in description.
Wow. A simplest way to explain an unknown. Your presentation skills are good. Talking slowly, clearly with simple words are plus. Examples chosen are also good. great job.
21:23 Seemingly tangential question: which font is used here? Both the red and black. I like the letter spacing.
I'm really grateful for this System Design Series, a really decent and to the point.
Mam... This your content is so rich as you give real time examples. Thanks for all your efforts.
Best system design content with examples for explaining every concept
Thanks a lot Gurtej. If you can, please share it with others who might be needing this 😀🤟
underrated channel awesome content
Thanks Aditya
Thanks for this video. This is extremely well explained throughout the session. I would recommend everyone who keeps willing to learn various components of system design and engaging themself to learn and understand something better. Thanks a lot 👍✌️
One by one quality videos with such a great yet simple explanation! Thanks!! :)
First of all, Great video thank you, and much appreciated. I have a question. at 16.39, you mentioned the downside of FIFO. but the use case you mentioned about c2, c3, c4 being blocked because of M5 doesn't make sense to me (sorry if I didn't understand it properly).
M1 -> C1
M2 -> C2 (will this happen after M1 is completed? if yes, what is the advantage of having multiple consumers)?
M3 -> C3
M4 -> C4
Now looping again.
M5 -> C1 (Failed)
but if the consumer is working in parallel, by the time C1 completes M5, C2 will pick up M6 and others so on.
let me know if i make sense?
@sudocode Have been following your playlist, great comprehensiveness. Have the same doubt, would be great if you could clear!
I start to follow your channel because of a new concept... thanks for bringing this topic in this way
Thanks Mohit 🤟🤟
Its simply great, Very helpful for any newbie who want to explore system design. Thanks a lot for the effort you put in.
Hi yogita, I am really grateful for your videos. These chunks of information are so beneficial and I am loving knowing all about system design. There is one request if you can make one video on design patterns such as singleton, facade, etc. I am having a hard time understanding it. Thanks in advance. 😊
Thanks for the playlist. One doubt- In case of ordered Message queue, suppose we have 3 consumers, c1 is processing m5, c2->m6, c3->m7 and now the processing of m5 fails, what would happen with m6 and m7 as they were already popped from the MQ? Or, is it that the messages are not been assigned to the consumers parallely?
Thanks mam, your video lectures are very much informative and easy to understand. Keep doing good works.
You are simply the best!!!! So crisp and clear about things… little more number of use cases would stand your video out from others in RUclips…
Thanks a lot for queuing, Lot of hard work behind this lecturing.Thanks a lot once again.
Glad you liked it
Very structured, informative and useful. Kudos and thanks for all your efforts!
Very good efforts explaining easy and simple way and organizing the topics properly. Thank you.
You’re becoming my favourite teacher😅🎉 thank you ❤
You have very good and to-the-point videos. I really like the easy language used in your videos
If MQs remove the messages after the acknowledgement (that the message has been processed) from a consumer, then in case of multiple consumers, what stops the other consumer from processing the same message? i.e. same message is being processed by two consumers (which is not wanted and may leave the system in an inconsistent state). How do MQs solve this problem?
You really put in a lot of hard work to explain so smoothly. Loved this!!!
Thanks , the video was in-depth and practical rather than just theory it focused also on several implementation of industry standard MQ.
Amazing content simplified! Great learning. Thanks!!
I just subscribed by watching this video, superb explanation with real time examples, Thank you so much, please change the color of the marker it is not visible clearly
Thank You for your great explanation.
😊
For sure this added a lot of value to my time!! Nice explanation Yogita, keep it up!! 👍
Thanks Siddharth. 😅
I have a question. If messages are processed one after the other, then what's the use of having multiple consumers. Or all these consumers are performing some different tasks?
Thank you for your simple and detailed explanation.
The playlist is very informative.
I followed your playlist and was able to crack tower's system's interview
At 11:02, what do you mean by "If every request has to be served by the previous request" ? Please elaborate.
maybe it was by slip of tongue, read it as "before" instead of "by". I think actually what she means is "If every request has to be served before the previous request". (here previous means the request coming later, I think she had queue of request in her mental model that is why she said before). So if there are requests in the order Rn, ... R3, R2, R1 and if there are no message queues and iff R1 has to be served/processed before R2.... I hope this helps!
Really informative videos Yogita. Easy to understand and grasp. Kudos to your teaching method and quality content.
It was really informative.Very well explained
Thanks a lot for this great content. I have a question..
Let's say user1 sent 5 messages(M5, M4, M3, M2, M1) to user2. using the producer consumer model we push those messages to a queue.. Now, user1 has instantly decided to delete the M4 message(which is not yet processed by the consumer). what we are supposed to do in this case? do we delete that message from the queue? if yes, how do we do that? or we mark that message as deleted?(so, that we show to user2 as this message got deleted). ignore if any mistakes.. Thanks
Usually in such case you would send M6 which un-does the actions that are done by consumer when M5 is processed. Let's say M5 has the event/data that after consumption sets a value of a variable x from 5 to 10. Then, you can send M6 to set value to 5 again. I would have to check the exact mechanism for deleting messages. Usually messages are deleted from queues after consumption happens.
great ..awesome explanation and example...keep it up
Many Thanks for this wonderful playlist 🙂
Thank you 🙏
I almost completed all series just within 1 month and feel like Backend Dev is so interesting to delve into
It is very interesting 😊
amazing explanation. also, a summary is very much appreciated.
Thanks Parvez. Yeah we will release it soon 😊
Taught with clarity. Well done
Really like the way you explain concepts!
Simplified explanation, thankyou!!
Yogita, I am so inspired by you .Thank you for all that you do :)
should we use webhook when we get event from payment gateway and insted of directly update database should we update via message queue
Can anyone explain me what is the publisher subscriber model that was mentioned in the summary.
I have checked the entire video but can't find the meaning of this term
Very Nice Explanation!! Superb!!
so what im hearing is this:
client -> MQ -> DB
MQ takes the requests from the client and lines them up accordingly first come first serve.
then the MQ basically allocates how quickly the clients can ping the DB without crashing it.
then theres a response queu where the DB responds back to the client.
is that fair to say ?
Hi yogita, I really like your videos, just 1 question, which software or tool you are using to put these small animations on prerecorded videos?
Thanks Shrikant. We use After Effects mainly. Along with some icons and illustrations
Just the video i was looking for. Thanks for this.
I am really enjoying this Playlist. Thanks sudocode for this!
You are welcome Vikas
I really like your videos but one suggestion is that can you add also some free source when we can practice some questions asked in interview after learning the concepts
What about multiple consumers processing messages but ordering matters??
Great video between🎉
What are the example of message queues or technology that provides these features?
Very well explained. Thanks a lot
First thanks for your great efforts.
I have a question at ordering messages with many consumers.. are consumers don’t work in parallel to consume messages.. specially in the case of if fail any message,, remaining consumer don’t take any messages till it passed.. is that right??
Good question. I think the order of taking up from messaging is of priority. No the processing in consumers. Even for a chat application, the image might be processed later and will arrive later than simple text. Correct me if I am wrong
Hi yogita
Loved your content
But I didn't find code snippet regarding queues in the description, can u pls let me redirect to that link or provide that link
Golden explanation. Thank you man for sharing your knowledge.
Really great insight, Ma'am, it would be a great help if at the end of the series you implement a small project following each concept you taught.
Thanks a lot for sharing your knowledge ma'am.
Yes Rupesh. That's the plan ahead. Thanks for the support 😊
Best playlist on youTube
Thanks for the wonderful detailed insight
Glad you found it useful.
Excelent tutorial
Really enjoyed this informative video ❤️❤️🤩🤩
Awesome! Thank you!
In 2019, I worked on Millicom project and used AWS SQS. I wish this tutorial would have surfaced then.. So much time would have saved..
Thank you for giving us the micro details❤️❤️
My pleasure 😊
Very good real life examples.
Hi Yogita! Excellent video
I have a question. While Message queues are used for Asynchronous communication, what can be used for Synchronous communication?
Apis 😊
Yogita, you have stopped posting videos it seems. Your content is too good. It is helpful.
Last video was 4 days ago :)
Very nice explanation mam
Best video on message queue
Great video - Very concise and informative
Can someone tell me some major differences between Producer/Consumer and Publisher/Subscriber? Both are different but works on same pattern. I am a bit confused.
Sure Gaurav. Producer/Consumer is used when the consumption rate is 1per message. Whereas pub/sub model is used in the case where one message can be consumed multiple times. Let's say we have a message queue with messages M1, M2,M3 in the same order. Incase of producer/consumer, if M1 is consumed/processed by any consumer than it would be deleted from the queue. Whereas incase of pub/sub, M1 can be processed by multiple subscribers. You will be more equipped with these terms once we release the next video which is on pub/sub model 😅
Got it completely and resolved a critical issue while occuring at scaling of server. It is working with pubsub but not with producer/consumer. Now, I know the reason.
Thanks a lot😁
Loving your content Yogita, keep growing! And making informative system design videos :)
Awesome explanation.
Appreciate the content! General feedback can you use dark color markers in whiteboard? Currently it's not that visible atleast for me.
Thank you. Explained perfectly!!
Hi Yogita,
You are the best, thanks for such great explanations :)
Hi Yogita! Firstly, great stuff...really worth watching. I could not find the code snippet you were talking about. It would be great if you could mention the link once again.
Messages are not Actions(task) sent from producer to consumer. Message contains payload ( data ) like the date range and customer details for generating invoice. Consumer could a service (to generate invoice report based on payload data of message.
appreciate the effort.
Messages can contain data, any data that needs to be communicated between two components of a system. It can be event, task, task definition, config and so on.
Great video! Truly it added value to my time.
Great explanation, Thank you!
@Yogita - Super Awesome, such a hard work you have done for us, request you please make playlist on KAFKA, need to know more details of KAFKA at such micro level. Thankyou :-)
Will do soon
Can you please use a good color marker! For the audience to read and understand it properly!
this is very informative. keep up the good work. Kudos!
Thanks, will do!
Where is this code snippet about how MQ internally works?
Excellent explanation !!
Well explained in a very short time. Thank you :)
Don't use green colour marker .... Use black marker always if your board is white... Though I appreciate your content. Subscribed !
Awesome explanation
Glad you liked it
Does the OTP that we receive during any verification process follow this principle ? And sometimes we don't get the OTP for too long, does that mean that the Consumer end is down ? Please correct me if I'm wrong.
Sync processing can be applied when a delay in response is OK. OTPs should be immediate and cannot use messaging for OTP generation.
Aync messages are useful when the request or is not expecting an immediate response. Like generating monthly statements, generating analytics etc
I really like the bank teller example
Thank you for your effort.
is a sudoUpdate coming?