2010-05-26 55 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上使用