有没有人知道twitter的架构?
我特别感兴趣的一些具体项目:
我知道他们使用消息队列。但他们使用队列到底是为了什么?
他们会“重复”推文吗?如果是这样,如何?例如,假设一个用户有 10,000 个关注者,他发了一条推文“hello world”。 Twitter 是否仅存储一次“hello world”并且这 10,000 个关注者中的每个人都需要从同一个数据库表中读取该推文,或者每个关注者是否都有自己的“我正在关注的推文”数据并且“hello world”被复制 10,000次,每个追随者一次?
与上述观点有些相关:他们如何按推文发送者、推文关注者、推文 ID、推文日期时间或其他方式分片数据?
您知道他们使用什么技术吗?我阅读了 MySQL、RoR、Starling、Scala、memcached。不过那是前一阵子了,资料还不是很详细。有更新的信息或更多详细信息吗?
最佳答案
您可以在 identi.ca 中查看代码,这是一种类似于 Twitter 的服务,基于开源工具和开放标准构建。希望这会有所帮助。
关于architecture - 如何设计可扩展的类似 Twitter 的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912297/