一、需求溝通
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,搜索關鍵詞。