我在做一个内容产品,现在考虑实现站内消息功能,比如别人对你的文章点赞了、评论了、或者评论被管理员删除了或者别人给你发私信了了,那么要在 APP 端即时显示消息提醒,一般是采取什么解决方案呢?客户端轮询查看有没有新消息吗?
|
TypeErrorNoneSep 6, 2019
1
轮询请求,这个请求只做 app 的状态查询。
可以针对这个接口单独部署几台服务器,支撑个几万 qps 没问题。 |
|
salamanderMHSep 6, 2019
2
websocket,你看看 https://segmentfault.com/ ,它就是这么做的
|
|
3
|
|
kx5d62Jn1J9MjoXPSep 6, 2019
4
轮询你就等着被卸载吧
|
|
crysislinuxSep 6, 2019
5
我在想这个东西到底该不该对匿名用户实现,websocket 连接太多了压力也不小。
|
|
6
@ssynhtn @crysislinux 那行业内的解决方案一般是啥呢
|
|
xiangyuecnSep 6, 2019
7
这不就是推送咩。简单的用第三方,把 ios、华为、oppovivo 的自家推送集成一下 就 ok 了。
即时?惊呆了,app 活着就即时吧,死了就离线推 |
|
8
@xiangyuecn 不是 push,是站内消息
|
|
zqwcrystalSep 6, 2019
9
可以用静默推送实现,客户端监听到推送之后做请求
|
|
mshadowSep 6, 2019
10
@nioncodotcom 也是用 push
|
|
nvioueSep 6, 2019 via Android
11
push 加 pull 结合
|
|
niubee1Sep 6, 2019
12
现在很多浏览器都支持推送服务
|
|
TakamineSep 6, 2019 via Android
13
轮询着被卸载+1。
一般在几个交互逻辑里触发站内信消息推送就好吧。 |
|
crayygySep 6, 2019 via iPhone
14
push 收到以后做区分,前后台单独处理即可
|
|
Raymon111111Sep 6, 2019
15
怎么可能是轮询...
消息队列+push |
|
finabSep 6, 2019
16
客户端做一个 Pull 操作,触发可以取请求未读消息
然后定义一些场景,触发这些场景就去 做 Pull 操作 例如打开 APP、重新进入 APP、进入消息页面、收到新消息推送 ... 等等 我觉得又不是聊天,用不上实时,能保证用户能看到就行 |
|
opengpsSep 6, 2019
17
所有推送类应用:要么轮训,要么 tcp 长连接
|
|
xd314697475Sep 6, 2019
18
websocket 或者使用第三方推送,eg.极光推送
|
|
Macolor21Sep 6, 2019
19
websocket
|
|
laravelSep 6, 2019
20
mqtt
|