首页 > 试题广场 >

请设计出一个类似twitter的系统, 并详细说明你的设计。

[问答题]

目前最流行的, 被称为微革命的互联网应用Twitter中, 人民可以在Twitter中互相关注, 被关注的人发出的每一条微型博客(一般都在140字以内), 都会被关注他的人看到.  而一个人可能被几万,几十万, 甚至上百万的人关注; 当然, 理论上, 一个人也可以关注几万,几十万,甚至上百万的人.

1) 请设计出这样的一个系统, 并详细说明你的设计.

2) 请指出你设计中的缺点, 并给出改进后的设计.

3) 请评述你的最终设计的优点和缺点.

可以利用Redis中类似的发布订阅功能实现,关注者与被关注者之间信息的而沟通,首先,若A关注B,那么就相当于A订阅B发的状态信息,只要B发了新状态,A就能收到。当然也许关注B的人很多,这样可以用一个链表来保存G关注B的用户,然后依次遍历链表,将B的状态信息发出去。对于一个用户关注了几百甚至几十万的用户,为了保证该关注的数据不丢失,就需要进行备份了。
发表于 2015-09-05 11:10:48 回复(0)
观察者模式比较符合这种功能
发表于 2015-09-05 20:39:47 回复(0)