Twitter的架构学习一:Twitter简介和业务逻辑简述

时间:2024-04-03 14:31:47

1.Twitter的简介

 

Twitter是非常著名的微博客网站,成立于2006年,至今用户数已经超过1000w,在奥巴马总统上台后,用户量急剧增长,随着用户数量的增加,Twitter的架构也发生了很大的变化,它的这些变化能够适应大用户量的访问,是值得大家学习的一种架构。

 

2.Twitter的业务介绍

1)业务

Twitter的业务比较简单,用户可以写短信(字长不允许超过140个),如果另外一个用户是该用户的follower,则用户的更新,他的follower可以实时地看到它的更新。

 

2)数据库表的设计

 

  • User表                             用户ID        姓名            登录名          密码   状态(是否在线)

 

  • SMS表                             短信ID        UserID       短信正文       时间戳

 

  • RelationShip表                UserID      followingUserIDs  followerUserIDs

       用户关系表,存储了用户之间的关系:following和follower,following表示该用户跟踪了哪个用户,follower表示该用户被那些用户跟踪了。当用户有新的短信时,所有在线的follower可以实时(相对实时)收到它的更新。

 

3.Twitter的技术架构

 


Twitter的架构学习一:Twitter简介和业务逻辑简述

 

笔者总结了一下Twitter架构的亮点:

1.在Web前端采用了Comet实现HTTP的长连接,由server直接push message到web 页面

2.在中间层大量采用了Cache-Page Cache,Fragment Cache,Vector Cache和Row Cache大大降低了server的负载。

3.实现了自己的Message Queue,Kestrel MQ是基于Memcached协议的由Scala语言开发的server