If you are preparing for a system design interview, try get.interviewready.io. All the best 😁
@okeyD90232
2 жыл бұрын
If i subscribe, I will start listening to new events produced by your channel :)
@Chorizzosoup
4 жыл бұрын
Interviewer: what's the most important thing you want in your system design? Me after watching this vid: You want headshots!
@SamuelKarani
4 жыл бұрын
"I''ll cache you next time"
@TheIronSavior
3 жыл бұрын
Cache me outside
@ronquan3730
4 жыл бұрын
WE WANT HEADSHOTS!!!!!
@d-kz
4 жыл бұрын
I’m a bit confused about the difference between an event-driven vs a request-response architecture. Can’t you frame a “request“ as an “event”? So then you “publish” a request, pass it through to event bus, etc.
@neerpatel4647
4 жыл бұрын
in request response you will have to wait for response... but in event-driven, you don't. you just assume, that once you have published an event, all the subscribers listening to it, will eventually finish up the task. but, There is no Guarantee in event-driven system. we can make the system fail-safe by adding up lots of fallback cases, but still, it doesn't always guarantee... and the fun part is, you will never know, if it failed ot succeeded... But, in the case of requst-response architecture, we will always know, if our request was success of failure. d
@d-kz
4 жыл бұрын
@@neerpatel4647 ahh cool makes sense, thank you!
@Tarooq239
3 жыл бұрын
I like your videos (I even took your paid course). But this video is not up to your standards. You are mixing event sourcing with event driven design (whtout mentioning).
@gkcs
3 жыл бұрын
Maybe I should make a video on their differences 👍
@zillionvolts
3 жыл бұрын
You have mixed Event-Driven and Event-Sourcing!
@SalgatAustin
2 жыл бұрын
Event sourcing utilizes event driven architectures. He was simply giving a use case for it.
@asg3hb
2 жыл бұрын
To explain event-driven architecture.... Would be helpful to not add in another layer on top in the example one is providing. That's what event sourcing does.
@venkatkrishna3774
2 жыл бұрын
One good thing about your videos is that you smile often, I feel that is much needed for the audience to be engaged through out your videos.
@saamtech
3 жыл бұрын
I think this is more of event sourcing architecture (which is sub category of event driven) than event driven itself. In event driven architecture, my understanding is that there is no "replay" function nor there is implementation to support the replay functionality. A good example of it is almost all front end frameworks use event driven archs and they don't store any state
@vishalkaushik6169
3 жыл бұрын
There is feature of replay subjects in Rxjs( Angular uses this) . It stores the previous States if I am not wrong 🤔
@TheGenerationGapPodcast
2 жыл бұрын
Observables is event-driven and it has replaying abilities.
@vinayaka1234
4 жыл бұрын
Hi Gaurav, can you please explain what is the difference between message queues and event driven system.
@nemanja.tonic87
Жыл бұрын
This might help: www.techtarget.com/searchapparchitecture/tip/Event-driven-vs-message-driven-It-comes-down-to-complexity Basically, a message has a pre-defined receiver, while events are just published and multiple components can subscribe to them.
@anmol23narang41
3 жыл бұрын
Could someone please highlight the main difference between Pub-Sub and Event-Driven Architecture?
@stiupidboy
3 жыл бұрын
the title is soooo confusing!! The cover photo says "Event Sourcing" and the title says "Event Driven". I believe they are quite different things. Now you helped me mixed them up, thank you :)
@Saiyugi16
3 жыл бұрын
So not exactly, his architecture diagram depicts a service that captures the events in an event store as it's dispatched on the bus which is event sourcing. Event driven architecture version, is just the process of using events to communicate between services via event bus whether internally or externally and have each service subscribing to that event to later process it. What he hasn't covered in depth was replaying events, but he briefly mentioned stream processing when he mentioned rollback when he gave examples and advantages. Guys this is an overview video not an in-depth one. I believe he did a great job. Good man keep it up!
@anildangol
5 жыл бұрын
These videos are really good. More better, your excitement explaining things. There are lot of videos in youtube which may be better than your but man they are boring like hell that I get sleepy. Keep up the good work!
@pankhurigupta8623
Жыл бұрын
Great conetent! It would be more helpful if you explain with examples of real-world applications.
@sebastianwardana1527
5 жыл бұрын
Its pretty cool of you to put this out! I might not pick up everything the first time, but its really elluminating and I really think about trying out new tech... thanks for that.
@gkcs
5 жыл бұрын
Thank you!
@sumeshtc9542
Жыл бұрын
HI , Assume like we have one topic and two subscribers to that topic, How will the subscriber know that the message in the topic is already consumed or not , Will the message in the topic will be cleared after all the consumers consumed the message
@JM_utube
4 жыл бұрын
great video thanks so much. you could talk at length, endlessly, about event driven architecture, and this video actually was the perfect level of depth. event driven architecture, or subsets of it, are absolutely used in just about every single tech company these days. however, one of the hardest parts is figuring out what happens downstream after a message is published. can require major logging tools on top of entire systems like splunk or ELK to trace what happens through your systems, which is complex on it's own. i've spent days or weeks tracing transactions through microservice queues trying to solve bugs. Also, enforcing message schemas is another huge problem. rabbitMQ / kafka + nodeJS is a particularly nasty combination when it comes to debugging LOL. but i suppose thats why we get paid the big bucks ;)
@ziyijiang4050
4 жыл бұрын
great video, thanks for sharing. One thing I fee like might improve this is to show other similar or comparable systems. Some of benefits you are showing here is hard to be closely associated with event driven system, without comparing with other system, even briefly. I guess it is more due to the popularity of even driven system, I don't even know or say did not come up with other systems immediately when watching this video, then I thought isn't these benefits are from other system as well?
@gkcs
4 жыл бұрын
Good point :)
@dfghjcvbh
6 жыл бұрын
Hi Gaurav, Thanks for the awesome videos....They are really helping to understand system designing. Can you please tell from where can I study more about System Designing. What all topics a good Software Engineer should know?
@gkcs
6 жыл бұрын
Hey Ashish, thanks! You could try the highscalability blog and tech conference videos on KZitem 😁
@hrithikbabbar5721
Жыл бұрын
Why do we need to replay events while replacing service we could have just copied all the data
@AmulyaSahoo349
5 жыл бұрын
Hey Gaurav, Thanks a lot for this awesome video. The examples you give to explain something are awesome like counter strike, It so simplified the whole system. Thanks a lot :) Btw, is the event bus a message queue or any pubsub like Kafka?
@gkcs
5 жыл бұрын
Thanks! A pubsub like kafka is how I look at it. Although a message queue will also do.
@neshant89
5 жыл бұрын
"In Kafka message can be subscribed by multi consumers, means, many consumer types not many instances of same one. In a typical messaging queue like Rabbit a message can be consumed only once, and when consumed, the message disappears and isn’t accessible anymore." and as said in the video replicate and replay of messages is a feature of event driven architecture.
@AmulyaSahoo349
5 жыл бұрын
@@neshant89 Got the difference. Thanks :) Suppose in Kafka, for a single topic there are multiple subscribers ready to consume. When a message comes to the topic, all the consumers will receive the same message (copies) or any one of the consumers will only receive that message?
@jagrick
4 жыл бұрын
@@AmulyaSahoo349 All the consumers will receive the same set of messages
@raj_kundalia
Жыл бұрын
Advantages: Availability Easy roll-back Replacements of services Disadvantages: Consistency N/A to gateways Lesser control of the flow Compaction Hidden Flow Migration from it is not easy from this architecture
@soheet12
3 жыл бұрын
just for Counter strike example. I understood it :)
@krishind99
3 жыл бұрын
Couple more points Your last few lines were “Node JS supports it”. Architecture has nothing to do with language/framework. One can use NodeJS, Python, Golang, java anything that supports EventBus tool (Kafka, Redis, etc) With this architecture, (micro)scalability can be a problem. Unless there’s a way to handle race-conditions between multiple subscribers to a channel, you may end up with duplicate data & processing. Or else, you are struck with single instances of a micro service for the rest of your life.
@jaydeeproysarkar4754
5 жыл бұрын
Hi gaurav , i like the architech and i appreciate that, could you please share a architecture model of e-commerce order management micro service
@swatigojra7904
4 жыл бұрын
Really awesome video, thanks ..:), just a ques : Is Kafka also following event driven architecture, what's the difference btw pub sub and this architecture ?
@gkcs
4 жыл бұрын
I made a video on publisher subscriber architectures here: kzitem.info/news/bejne/p4OeyIaVpIOWe6w
@MayankAggarwal
5 жыл бұрын
Very interesting point you mentioned is that there is problem in understanding the flow of the code. I too faced myself this issue.
@gkcs
5 жыл бұрын
It's magic!
@anujvohra7904
4 жыл бұрын
Thanks Gaurav. NIce video. May I also point out a few advantages of event driven architectures? 1. It is the only way in which you can implement SEDA and hence scale individual stages as load increases. As the EDA works in eventual consistency model, the scale up times are not as relevant (or as relevant as they may be in req/resp paradigm) 2. This is necessary if you are implementing a CQRS based system. 3. Lambda architecture is only supported with events (allowing us to arguably beat the CAPs theoren) 4. In container world, where a container can be evicted any time (in the middle of a transaction etc), we either need all services to be idempotent or have an event driven architecture in place. Idempotency is not always possible. Regards
@SurajKumar-vi3ll
6 жыл бұрын
sir , I am struggling with the logic of "Frog in Maze" problem of HackerRank. Its DFS along with maths. so I am struggling with the math part. Kindly show some attention to this: www.hackerrank.com/challenges/frog-in-maze/problem
@ayanpatel_98
Жыл бұрын
how React and node js use event driven architecture?
@pradipnitw
6 жыл бұрын
u are getting better each day :) loving your videos .... I would love to understand form you. How to do come up with a design solution in a system design? What are the factors you evaluate to add/optimize a system etc while designing a software system?
@gkcs
6 жыл бұрын
Thanks Pradip! Most of it comes from experience through work and projects. The interviewer focuses on certain points like consistency and availability, and we think of ways to achieve them. I'll try more detailed approaches in the videos 🙂
@lordstoneShi
3 жыл бұрын
Wait. FPS games use UDP and P2P protocols for fast communications, right? I wonder does event-driven model on server side will have low enough latency for such checks.
@ShubhamSharma-gs3lm
6 жыл бұрын
Hi Gaurav, Can you please explain how Git uses the event driven architecture or provide some material for that? One of my friends was asked this question in an interview recently.
@gkcs
6 жыл бұрын
I'll get this out soon. Try the git internals book, although it's very large...
@surajchandgude5856
5 жыл бұрын
@@gkcs Hi Gaurav, This is an awesome video but I think you can do it more comprehensive & Please make it more realistic with an example like u delivered the API video. Hope you will release it soon. All the Best thank you!
@kaushikdas417
6 жыл бұрын
What is an event bus? Is it a message queue?
@gkcs
6 жыл бұрын
Yes 😁
@Bulleteerism
4 жыл бұрын
Hi Gaurav , likewise for gaming scenario , how i can test and verify that a user has joined the request event created by me to join the playroom ?
@mohsanabbas8787
3 жыл бұрын
what if service A needs to know something that only service B knows or Process, Like repricing of a product in shopping cart. or availability check which can be an external gateway. Does this architecture poses lot of flaws in this particular case?
@arundudee
4 жыл бұрын
Current video is very confusing and some point is not even correct too .For knowing what is event driven system , users may refer for quick overview : kzitem.info/news/bejne/uaWerW2vipdkg6g
@Cookie82772
2 жыл бұрын
This channel is a gold mine.
@seemaprajapati964
4 жыл бұрын
It's Kind of broadcasting which I come to know by any publisher side but tell me one thing .... Consumer will register itself somewhere or not?
@shubhamagrawal8478
5 жыл бұрын
What if the subscriber goes offline, and producer keeps sending events then the event bus will be overflowing and this might events loss. Looks like a disadvantage of event-based architecture.
@gkcs
5 жыл бұрын
And how would you avoid this with the request response model?
@shubhamagrawal8478
5 жыл бұрын
@@gkcs we have timeout in req-resp model. If a service doesn't respond within timeout limits then we fail our request and handle it differently. But here, if a common event bus is used and one service(listener) is offline then the events of that service would fill the queue and block it for other services.
@gkcs
5 жыл бұрын
@@shubhamagrawal8478 Distribute and scale the queue.
@kenjohnsiosan9707
2 жыл бұрын
This is more of an Event Sourcing
@Dawat-E-Ghurba
2 жыл бұрын
Java vertex also uses evenbus architectures
@Rokazz2
3 жыл бұрын
love example with CS and headshot hahaha
@abhishekrathod4713
2 жыл бұрын
What is event consumer and event consumer buffer size? There is a use of this in circuitbreaker design pattern but it is not clear what this does
@MaxPicAxe
5 жыл бұрын
Wow your explanations are absolutely brilliant!
@pavithrae874
6 жыл бұрын
Thank you so much for the rich content.
@digisecureagent7679
3 жыл бұрын
It is called chronical event sourcing It has many cons and one pros I hope no one consider to implement it into production instead take it as an option to takle mostly
@bbharathkumarreddy1936
5 жыл бұрын
Hi Sir, If suppose I have an invoice app & I want to check stock, and invoice it, email the pdf. At last, the user wants to know the invoice is created or rejected due to low stock all the response should be sent to the front end for showing it after clicking invoice immediately. In this case, what is the best way to split as event-driven?
@rambo4014
2 жыл бұрын
This is more of event sourcing. Event notifications can however work without event sources IMO
@songs4enjoy
5 жыл бұрын
Gaurav, Multiple observations 1. You seemed to have confused event log with local db for each service. The micro service's local datastore *in general* is its materialized view, which is used to serve its requests, not to persist event log. There are message brokers which provide you with the event log directly with customizable retention polices (sure, you can use database as event log aswell, again whats the point of putting load on your DB which needs to serve requests when broker already stored this information previously and allows you to set retention policies which can be replayed later at any time?) 2. It is not true that migrating a message flow -> Request-response paradigm is hard. Its infact quiet easy as you are making simple RPC calls. Sure, you will not have the same resiliency guarantees as in messaging as we are moving to request-response paradigm 3. Its not true that event log is mandatory. You might want to keep it if the business requires it. Else, easiest option is to use broker as a task distributor & consume the messages
@gkcs
5 жыл бұрын
Excellent points, thanks for posting them 👍
@songs4enjoy
5 жыл бұрын
@@gkcs That was quick :) . Again, Thanks for your effort in creating these videos. As an introductory videos, they are great
@yashmirashi2956
5 жыл бұрын
i like your presentation skills!👌
@gkcs
5 жыл бұрын
Thank you!
@niranjantiwari4987
Жыл бұрын
Do we have any hands on code example for this architecture on youtube ??
@kennethcarvalho3684
3 жыл бұрын
Kind of State design pattern partly.. You seem very happy though
@sonambhardwaj785
3 жыл бұрын
@gaurav sen- enjoy watching your videos. You are very knowledgeable. Not many recent videos. you should do more. all the best
@rohitkrishnan5456
3 жыл бұрын
Hi, nice video Gaurav! Just to be clear FPS doesn't work like that right? I know you just used it as an example.. but there must be some problem implementing EDD for FPS. If there is none..I don't know why I still have to suffer from latency issues in 2021. Am I missing something?
@rohitkrishnan5456
3 жыл бұрын
Why not just keep a server synchronised time counter in each client?
@eshikagupta6616
11 ай бұрын
Hey Gaurav! Your videos are great. Every topic has been explained to the perfect depth without making it boring. Just a minor concern I have, can you please order your videos correctly like sometimes a video that's coming up next is something that I don't know anything about which I know you have explained in some other video but don't know which one. It'll be great if you do that! Otherwise everything's great!
@gkcs
11 ай бұрын
Thanks Eshika, noted!
@khurram650
5 жыл бұрын
Hi Gaurav, I'm trying to design Online-shoping with Event-driven Architecture but can't understand about message queue. How should I implement and why? E.g. If any customer orders a product, then a REST service would be called, which may or may not call other serivces like shipping, warehouse etc. then where comes message queue and how and where to implement this?
@jaydeeproysarkar4754
5 жыл бұрын
Use aws sqs service or sns service
@TheIronSavior
3 жыл бұрын
This is not event sourcing...
@Selftaught_ai
2 жыл бұрын
"You want headshots" 😂
@supriya.mallick
2 жыл бұрын
Event bus may be MQ, right???
@gkcs
2 жыл бұрын
Yes.
@m13m
5 жыл бұрын
Kafka is great building event driven system
@stoneshou
4 жыл бұрын
Followed from the previous video with the invoice example but this doesn’t give a solution to the distributed transaction across service boundary, I assume that’s just not possible to do here?
@gkcs
4 жыл бұрын
It is, but it needs consensus. Have a look at Raft.
@The8merp
3 жыл бұрын
I would def like to see a video that explains the event driven architecture behind React, Git etc.
@HarshTibrewal123
4 жыл бұрын
Event logs replaying is actually what event sourcing architecture is.
@456avijit
Жыл бұрын
Is there any role of msg broker in this architecture
@spicytuna08
6 жыл бұрын
Hey thanks again for another amazing video. Isn't reading/writing from DB time consuming? In gaming example where a millisecond is critical, I can see that DB access can be a bottle neck. Using CACHE memory from DB makes more sense.
@gkcs
6 жыл бұрын
Yes, caches are extensively used in low latency apps. The requests for a game will all probably map to a single server, so that the cache is consistent.
@B4nks
5 жыл бұрын
This is why Redis is so popular. It's an: "in-memory data structure store, used as a database, cache and message broker."
@MaxPicAxe
5 жыл бұрын
It's likely all the game state will just be stored on the game server. Just because you have this event system and microservices, doesn't mean you are communicating with them on the internet using ip, they could just be local sockets or files or direct RAM access or function calls etc.
@nilanjanmukherjee4219
5 жыл бұрын
Hey Gaurav! First up... awesome video. So actually I work in the front office for an investment banking firm. So this architecture forms the whole core system of how we interact with things. If you would like to maybe we could have a conversation regarding the same it might help us both gain more perspective. Anyway. Cheerios! Keep posting
@mageshkumar547
4 жыл бұрын
does event poll accepts multiple requests at a same time. I mean will it process multiple requests in concurrent?
@TheWeekendYogi
5 жыл бұрын
Is it better to maintain a event router service or every service runs its own instance of the subscriber service. ?
@gkcs
5 жыл бұрын
Have a look at what a service mesh is. I will be speaking about this in detail sometime soon :)
@shrutikamboj4607
2 жыл бұрын
Wondering if Jenkins uses event-driven arch
@Salvalfoceadominguez
5 жыл бұрын
Great explain but i need listen video at 0.75 speed 😬
@MaxPicAxe
5 жыл бұрын
Lol I watch at 1.75 speed :)
@SanthoshKumar-or7wd
3 жыл бұрын
Need more videos with real time examples with micro service architecture
@rajeevchaturvedi2007
3 жыл бұрын
Good diagram - it is very well explain
@anastasianaumko923
Жыл бұрын
Great explanation, thank you! 😌
@AarshSharma
4 жыл бұрын
Can you make a video explaining event loop in node
@bharathpalla3705
Жыл бұрын
I do want headshots!
@gkcs
Жыл бұрын
Hahaha!
@awadheshamar6012
6 жыл бұрын
great job Gaurav
@phanikumar278
5 жыл бұрын
I believe why people like your video's is the way you enjoy the concepts and complete involve and explain them.. we can see in your eyes ( joy of happiness ) ... It could be great if you can show a video to community .. system design discussion with in group of people .. like everyone present their idea and how will you figure out the best in that room ...
@gkcs
5 жыл бұрын
A design discussion? That sounds like a good idea 🙂
@stormarrow2120
2 жыл бұрын
I love your content! Thank you for sharing your videos!
@MayureshKadu
5 жыл бұрын
Re. 1:19 another application to add your list is Algorithm trading
@santhoshm9193
5 жыл бұрын
Nice.. I need a example for database table structure in event driven architecture.
@spicytuna08
6 жыл бұрын
i didn't know react uses this architecture. thanks.
@MaxPicAxe
5 жыл бұрын
I don't think react specifically uses this architecture? I know redux does and many react apps use redux
@bibek8284
4 жыл бұрын
MaxPicAxe I think react use it on Reactdom features
@stoneshou
4 жыл бұрын
The way you described persisting events in the service makes it sound like an append file rather than database
@learnandsharelive
4 жыл бұрын
Hi Gaurav, First of all, thank you so much for the content which you have highlighted on the "Event-Driver Architecture". One of the disadvantages which you have highlighted was "unable to track the end-2-end flow" in this architecture. So to answer that we can use the "Orchestration" pattern and you might be aware. So, basically, design the "workflow-orchestration" as soon as you get the service response so that we'll come to know where it hangs in case of any failure. We're using "CAMUNDA" for the same. Thanks!
@murike
6 жыл бұрын
I see that you described event sourcing here. Does event driven architecture always comes with event sourcing?
@gkcs
6 жыл бұрын
From what I understand, yes.
@souravkabiraj5060
5 жыл бұрын
Great video.. nicely explained.. you are best youtuber of this genre..
@Thannimodu
6 жыл бұрын
thanks for this video
@大盗江南
4 жыл бұрын
U r so cute hahahahahahahahaha
@yashmirashi2956
5 жыл бұрын
i like presentation skills!! 👌
@manojkumar-lt6wk
4 жыл бұрын
Node js guyss!!!!!!
@blunderfoxbeta
5 жыл бұрын
Bro where do you work?
@gkcs
5 жыл бұрын
Uber.
@blunderfoxbeta
5 жыл бұрын
@@gkcs thanks. You are great!
@SuperEmilia1969
4 жыл бұрын
You are too good with your explanation Gaurav.
@gkcs
4 жыл бұрын
Thank you!
@inversemetric
3 жыл бұрын
Thanks, great work
@YGorillAY
4 жыл бұрын
Great Videos! BTW you can maybe think of doing a series of reviews of popular pieces of software and software systems in terms of architecture and maybe classifying them on certain criterias (e.g. microservice vs monolith, request-response vs event-driven, etc.). I couldn't find a good source of such info on the Internet, so it is definitely a niche ;) Something similar to your "Design *insert popular app*" videos, but focused more on how and why it was done, comparison to other similar systems (for example Viber vs Whatsapp vs Messenger) and what the pros and cons are (for example in terms of scalability, performance, etc.)
@sagarverma55
5 жыл бұрын
bro can you system design on zomato
@upcomingprogrammer6244
6 жыл бұрын
Hi, I'm three-year experience professional. I want to prepare for Amazon. What short of knowledge is required to get in.
@qwarlockz8017
3 жыл бұрын
leet code... they are heavy on it.. pick up the book Cracking the Coding Interview.
@sankalparora9374
Жыл бұрын
Great explanation - thank you!
@gkcs
Жыл бұрын
You are welcome!
@vaishalijain3266
2 жыл бұрын
amazing
@adipratapsinghaps
5 жыл бұрын
This is a great video. Thankyou so much gaurav.
@Oswee
4 жыл бұрын
React is event-driven!? How about Redux?
@GabrielVasile
4 жыл бұрын
Javascript is an event driven language. React is in Javascript, Redux is in Javascript. If you're wondering how is React event driven, think about how your component re-renders when you change the state or how do you respond when the user submits a form or changes an input and you do validation.
Пікірлер: 184