设计推特时间轴与搜索功能
一、需求沟通
1、用例
1. 用户发布了一篇推特
- 服务将推特推送给关注者,给他们发送消息通知与邮件
2. 用户浏览用户时间轴(用户最近的活动)
3. 用户浏览主页时间轴(用户关注的人最近的活动)
4. 用户搜索关键词
5. 服务需要有高可用性
2、算数
二、答案
1、概要设计
2、扩展设计
3、关键点总结
1. 先分成三大类API,Read API,Write API,Search API。
2. 对于Read API。因为浏览朋友圈,是按照时间来排的,所以首先要给一个时间戳,朋友圈里面包括推文信息和好友信息,所以又连出Tweet Info Service和User Info Service两个服务。
3. Write API下面有点问题,乱。正确的应该是有三部分:一个发推文的Service(原图中缺失)、一个维护好友关系, 一个发送消息通知与邮件
4. Search API,搜索关键词。