2010-05-26 54 views
3

有沒有人有關於twitter架構的任何信息?如何設計一個可擴展的Twitter類似的服務?

一些具體項目,我特別感興趣:

  • 我知道,他們使用消息隊列。但是,他們究竟用什麼隊列呢?

  • 他們是否「重複」推文?如果是這樣,怎麼樣?例如,假設一個用戶擁有10,000個關注者,並且他發佈了一條推文「hello world」。嘰嘰喳喳是否只存儲一次「你好世界」,這10,000名追隨者中的每一個都需要從同一個數據庫表中讀取那條推文,或者每個追隨者都有他自己的「我正在追隨的推文」數據和「你好世界」是否重複10,000次,每次追隨者一次?

  • 與以上幾點有些相關:他們如何分割他們的數據,通過tweet發件人,推特關注者,推特ID,推特日期時間或其他?

  • 你知道他們使用的是什麼技術嗎?我讀過關於MySQL,RoR,Starling,Scala和memcached的內容。但那是前一陣子,信息不是很詳細。任何更新的信息或更多細節?

+2

http://www.infoq.com/news/2009/06/Twitter-Architecture – JoseK 2010-05-26 11:09:48

回答

4

您可以查看identi.ca中的代碼,這是一個基於開源工具和開放標準的類似於Twitter的服務。希望這可以幫助。

1

不知道這是否有幫助。 Twitter已經在Twitter Open Source頁面上公開了很多正在使用該服務的代碼,這可能會爲您提供一兩點提示。

此外,Twitter已經在Engineering Blog,他們對技術崗位一個在Twitter上使用