Twitter system design | twitter Software architecture | twitter interview questions

Twitter system design | twitter Software architecture | twitter interview questions

Tech Dummies Narendra L

5 лет назад

335,927 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@lakshyaaggarwal8198
@lakshyaaggarwal8198 - 05.12.2023 01:28

Is usertimeline also in redis cache? Does that mean that in redis we are maintaining two timelines for every user, one is usertime and other is homeline? Thanks

Ответить
@AgniswarBakshi
@AgniswarBakshi - 19.10.2023 12:23

Hi Naren, Thanks for the video and your explanation. I had one question though , could you please explain why do we need Web socket connection here?

Ответить
@davidmataviejo3313
@davidmataviejo3313 - 29.09.2023 07:37

How expensive it would be to keep a copy of timelines in a redis cache for 20 million active users?

Ответить
@aeb242
@aeb242 - 27.09.2023 05:02

Great video! Thank you!

Ответить
@tianqizhang1573
@tianqizhang1573 - 08.09.2023 08:02

As I know, Redis Cluster does not require Apache ZooKeeper. Redis Cluster has its own built-in mechanisms for node coordination, failure detection, and failover. Please correct me if I am wrong.

Ответить
@buddhisthealer
@buddhisthealer - 11.05.2023 08:37

Great content. Could you discuss news channels with multiple subscribers system design? Was asked in one of the interviews recently

Ответить
@SachilSawhney
@SachilSawhney - 20.04.2023 06:12

great video!!

Ответить
@mahesh23343
@mahesh23343 - 07.04.2023 18:34

Absolutely love your work man. Gives so much more confidence when you mention what these companies are actually using. Highly, highly appreciated, thank you!

Ответить
@ritamsarkar3156
@ritamsarkar3156 - 02.04.2023 10:14

Sir, can you please explain why websocket push is used for mobile applications, why they can't call timeline service? why do we need to create another service like timeline service ?

Ответить
@navsmail
@navsmail - 29.03.2023 19:42

very good compilation Naren, really like your videos as they are detailed and good quality :)

Ответить
@nishakaramchandani8476
@nishakaramchandani8476 - 23.03.2023 01:34

Great Video. The only part missing is storage estimation, at least for cache..since we are using it extensively in this design. Can you provide some data on storage please?

Ответить
@aniketmahangare8333
@aniketmahangare8333 - 17.03.2023 06:43

Woww. I mean, simply wow.

Ответить
@kleoztube
@kleoztube - 02.02.2023 18:07

Good stuff brother

Ответить
@amansaxena4446
@amansaxena4446 - 25.01.2023 08:12

what if redis shuts down then how we'll handle that?

Ответить
@andresantos-yx3bh
@andresantos-yx3bh - 16.01.2023 14:10

do you have any resource about the FANOUT algorithm?

Ответить
@aplbep
@aplbep - 15.12.2022 19:22

This is so thorough and specific yet explained in a great way! Shows true mastery of the topic. Thank you very much for your work, really appreciated :D

Ответить
@LevKozlodoev
@LevKozlodoev - 26.10.2022 05:46

Thank you also for mentioning the concepts involved (eventual consistency, gather & scatter, fan out, ifti)

Ответить
@jamess5330
@jamess5330 - 03.10.2022 20:49

Thank you for putting up this tutorial! Study vidoes like this and then practice at Meetapro with mock interviews will help you land multiple offers.

Ответить
@arjunadityarastogi2118
@arjunadityarastogi2118 - 03.10.2022 10:41

But if the Redis only has the list of the Users that a particular user 'A' is following, then how would the fanout service know which twitter users need to recieve the tweets made by user 'A' ?
Anyone?
Shouldnt it be the other way around?
Shouldnt there be a list of which users follow user 'A' or maybe both the lists because we also have to show which users follow whom?

Ответить
@mostaza1464
@mostaza1464 - 27.09.2022 18:45

Thank you!!!!

Ответить
@nandhakumarkr3147
@nandhakumarkr3147 - 11.09.2022 21:59

Thank you Narendra, your videos really helpful

Ответить
@ujagarlamudi
@ujagarlamudi - 10.09.2022 22:31

Amazing work, crystal clear concepts. Thank you!

Ответить
@Lan-so5gv
@Lan-so5gv - 07.09.2022 12:29

Have someone told you that you look like an NBA player Kyrie Irving?

Ответить
@kresnofatihimani5073
@kresnofatihimani5073 - 17.08.2022 06:03

[Question]
for the home timeline section. basically it's possible for a user to follow lots of celebrity users right? so when fetching the hometimeline data from celebrities, do we limit the number of celebrities? lets say this user follows hundreds of celebrities. thx

Ответить
@saravananj3898
@saravananj3898 - 15.08.2022 15:38

Thanks a lot for explaining it very clearly....

Ответить
@nick6267
@nick6267 - 09.08.2022 08:20

I wish there was a Korean translation.

Ответить
@rangaranga5427
@rangaranga5427 - 05.08.2022 22:47

is each square box a microservice ?

Ответить
@big-datajavaexplorer3933
@big-datajavaexplorer3933 - 31.07.2022 12:25

great job

Ответить
@abhinavagrawal5579
@abhinavagrawal5579 - 31.07.2022 06:55

Hello Sir,

For Searching tweets, I think Elastic Search which uses Inverted Index can be used.

Ответить
@flamesdestroy5935
@flamesdestroy5935 - 27.06.2022 12:51

the best video on twitter system design I've ever seen before in my life

Ответить
@RS-vu5um
@RS-vu5um - 24.06.2022 16:33

I agree with the comment from Atul.K.Yadav. Great Job Narendra. You are exceptional in your explanation.

Ответить
@xolanimaphumulo6820
@xolanimaphumulo6820 - 06.05.2022 23:24

Amazing video , I like how you explained the fanout concept and how you explained that some of the daemon processes are delegated to streaming technologies like kafka. Would you recommend for a start-up that is trying to save on hosting , to use background jobs/workers instead of using Kafka or Apache Storm?

Ответить
@rockdrigomartineza
@rockdrigomartineza - 05.05.2022 20:37

Amazing videos! Congrats! One suggestion could be to use a different microphone to reduce echo and noise and make your voice more clear since for me it seems that every word you say is important! Keep the good work!

Ответить
@tarunstv796
@tarunstv796 - 23.04.2022 21:39

What's the exact use-case for WebSocket here?
Is it for -
1. Send a response to the query for search timeline results?
2. Send notifications for new tweets?

to my understanding, requests are just sent and then all responses are sent using a WebSocket connection

Ответить
@logicboard7746
@logicboard7746 - 10.04.2022 03:29

Brilliant. Well done managing the details+clarity in 35 mins!

Ответить
@priyabratajena6439
@priyabratajena6439 - 07.04.2022 20:15

You might have aware about LinkedIn feed algorithm, they moved from "fanout write" -> "fanout read". Can you please explain about"fanout read" and the technology behind it?

Ответить
@maanickp
@maanickp - 03.03.2022 19:41

Why do we use MySQL to store tweets instead of a NoSQL database like Cassandra? NoSQL databases offer better scalability, and we have to store millions of tweets every day.

Ответить
@kanchansrivastava3979
@kanchansrivastava3979 - 03.03.2022 10:54

You mentioned picking the recent tweets by a a celeb and putting it in the response but how are we going to query for that from Celebrity timeline? How to make sure we are not putting duplicate tweets of the celebrity?

Ответить
@andybhat5988
@andybhat5988 - 05.02.2022 08:54

Super work bro. Thanks a lot

Ответить
@pleaseexplain4396
@pleaseexplain4396 - 31.01.2022 18:28

One quick way I can think of fetching all Tweet related data for the users to display on the user timeline is to shard the user and tweet databases based on geo-location and building indexes on those shards to fetch the user data and tweet data associated with the user to display on the user timeline. Only when we have this I can guess then it makes sense to put this data into a Redis cache, otherwise for the Redis cache to hold this data you would first need to execute a huge Select query on top of the database. Please correct me if I am wrong in my thinking.

Ответить
@sivareddy4u
@sivareddy4u - 30.01.2022 18:43

Wonderful explanation, keep it up. Had a question RE Celebrity Tweet - When a celebrity tweet, you mentioned that it will be a dynamic query from User to Celebrity User Home to fetch the latest tweet, what happens if a million users sending this query at the same time? Would the design work seamlessly as you mentioned? Could it be a good design to use a combination of Fan-out/in based on the Users active state (from latest to say a day latest, to weeks latest)

Ответить
@randomlettersqzkebkw
@randomlettersqzkebkw - 22.01.2022 20:19

I understand that querying followers etc to create the Home time-line is expensive, and that REDIS can be the solution. However, how does the initial data enter the redis cache in the first place? You have to first do the slow query for everyone?

Ответить
@igboman2860
@igboman2860 - 19.01.2022 17:41

How do you deduplicate fetching celebrity tweets?

Ответить
@tejass817
@tejass817 - 26.12.2021 15:35

Great Content

Ответить
@dieddzaandam
@dieddzaandam - 14.12.2021 19:45

Hi Narendra, great video! I have a question about storing the data in Redis:
Lets say user X has the hometimeline stored in the Redis database under 'user_x_hometimeline'. What kind of data is stored here? Only an array of all tweet ids, or also the metadata and the tweet itself? Or is the tweet content only stored in the main DB?
And a rethorical question: how would you change the system design when you could change the content of a tweet? Facebook/LinkedIn offer the feature to change the content of a post

Ответить
@kumarmanish9046
@kumarmanish9046 - 24.11.2021 10:59

Good video, most comprehensive. Kindly add subsection/bookmarks.

Ответить