消息系统设计

做个手机APP,后台有个消息系统。包括留言提醒、评论提醒、回复提醒。这些感觉都好做。只需要插入数据库中,然后标记是否处理过此条消息。我想到的问题是:加入有系统公告是不是插入一条数据就够了。然后fromUser设置为0代表此消息来自系统。但是怎么样判断某个用户已经阅读个此消息。只有一条记录就算有消息状态标志位也不好处理。用户量少了还好处理。那么用户量多了呢?谢谢各位

阅读 6.2k
2 个回答
要标识用户是否阅读了此系统公告,针对每个用户肯定也是需要对此引用消息有自己的状态标志。

我知道你担心用户量大了,似乎是一种直接copy产生了大量冗余,其实这是多虑了。因为你的系统公告不是每天都N条,即使1KW用户,每周一条系统公告,每天新产生的消息量也就142W条而已,这跟用户UGC消息比,就是小巫见大巫。

同时系统通知一定有时效性,在用户生成关联数据时,可以采用反查的模式:即用户登陆时主动查询有效的系统通知消息,并为其生成“未读”内容;而那些在系统消息有效期内没有使用应用的用户将不会拷贝一份关联消息。

在架构问题上,尽可能按照八二原则思考问题,有些20%的并非系统瓶颈的问题不要花过多时间顾虑。

是否可以新建一个表格 userid memssageid userid记录用户id memssageid记录用户看过的消息id类似1,3,15,35 这样写入数据库,不知道可不可用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进