SegmentFault 的消息提醒功能的是怎么实现的?

最忙碌的语言
  • 56

SegmentFault 中的这个提醒功能很使用,每次有自己相关的消息,都会用数据显示出来。不晓得这个是用啥技术实现的??谢谢

回复
阅读 1.5k
6 个回答
✓ 已被采纳

这种的站内消息的实现方式基本就是2种方式:
1.websoket
2.基于http的轮询
当然,前者肯定要优于后者。
看了下本站的
image.png

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。

就普通通知而已. 最基本的实现就是, 涉及到你的地方, 往数据库插一条数据, 前段轮询或者其他方案更新就好了.

比如回答, 所有关注者与回答的人都视为接受对象, 当回答有变更的时候, 就为所有接受对象创建一条通知而已. 当然实际上需要根据自己的产品决定, 比如思否, 他会将多条通知合并, 那么也只需要更新通知本身是否有更新字段就好了. 用户查看或者点击该条通知, 后台设置为已读.

反正核心就是这样, 具体方案会根据体量决定, 队列啊, 缓存啊, 或者专门的列式数据库都有可能.

在开发工具可以看到页面初始化了一个 webSocket 链接,实时通知应该是通过这个 socket 收发的。
WS 比较耗资源,所以要避免多开 SF 的页面,给他们省点钱来优化编辑器😄。

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

宣传栏