How to create a scalable tweeter as a service?

Does anyone have any info on twitter architecture?

A few specific elements that interest me particularly:

  • I know that they use message queues. But what exactly do they use queues for?

  • Do they "duplicate" tweets? If so, how? For example, let's say a user has 10,000 followers, and he tweets "hello world." Twitter stores “peace greetings” only once, and each of these 10,000 followers will have to read this tweet from the same database table, or each subsequent one has its own data “tweets that I follow”, and “hello world” is duplicated 10,000 times, once for each follower?

  • This is partly due to the above: how do they cheat on their data, the sender of the tweets, the Chirician, the tweet ID, the tweet datetime, or something else?

  • Do you know what technologies they use? I read about MySQL, RoR, Starling, Scala, memcached. But that was a long time ago, and the information was not very detailed. Any updated information or more detailed information?

+3
source share
2 answers

You can check the code in identi.ca, which is a Twitter-like service based on open source tools and open standards. Hope this helps.

+4
source

, . Twitter , Twitter Open Source, , .

, Twitter , , Twitter

+1

Source: https://habr.com/ru/post/1747173/


All Articles