參考資料:
- 架構篇:https://yq.aliyun.com/articles/698301
- 模型篇:https://yq.aliyun.com/articles/701593
- 實現篇:https://yq.aliyun.com/articles/710363
架構設計
存儲模型設計
群主場景的優化
對於群組的場景,有必要將一個消息放入群里的每個成員的收件箱timeline嗎?感覺沒必要啊,要是群成員很多,那將群消息同步到所有群成員的收件箱很耗時,性能很差。合理的方法應該是對於群組的場景,不需要將群消息同步到所有群成員的收件箱了,而是改為通知所有群成員某個群的會話有新消息,讓所有群成員的設備都到群會話對應的timeline拉取消息就行了。
如何支持消息撤回?
撤回消息,用戶的本意應該是希望撤銷這條消息。對於服務端來說,正確的邏輯應該是刪除這個消息。我的初步考慮是,寫入一條撤回消息到timeline。讀取timeline時,做一下消息過濾,某個消息出現了對應的撤回消息,則不返回給設備端即可。大家也可以拋出自己的想法。