抖音上评论后如果有人点赞我的评论,会马上收到气泡提醒,这是什么原理实现的?

2019-06-18 08:58:22 +08:00
 yibeishui
31932 次点击
所在节点    Android
97 条回复
weidada
2019-06-18 14:43:10 +08:00
个推推送 极光推送
NieKing
2019-06-18 15:00:25 +08:00
这么多人不知道前台服务吗?
mind3x
2019-06-18 15:50:27 +08:00
@bengcaca v2 还是有靠谱的回答的👍
hyyou2010
2019-06-18 16:02:28 +08:00
区分一下:
1,消息推送
2,某种长连接的 socket
显然是 2,非常轻便。1 的成本很高。
summer1988
2019-06-18 16:06:27 +08:00
ws push server init
maichael
2019-06-18 16:09:00 +08:00
websocket 那门子的成本高了呀……
okwork
2019-06-18 16:13:17 +08:00
@bengcaca 心跳就是为了维持长连接吧,否则移动网络那么复杂,而且还各种网络切换,肯定出现会掉线。
wangxiaoaer
2019-06-18 16:16:08 +08:00
@hyyou2010 #44

1 和 2 能放到同级吗? 1 是功能,2 是可能的实现方式
bengcaca
2019-06-18 16:37:09 +08:00
@okwork 心跳是为了维持长链接,这是业务层的,但从 tcp 协议层本身来讲,长链接不一定需要心跳,这个区分还是应该要清楚的。

如果实现得当,心跳可以根据不同的网络状况设置不同的间隔时间,比如 3G 网络下可能 30s,4G 情况下 1 分钟,wifi 情况下 5 分钟,具体值还可以根据历史网络状况做动态调整,当然这都属于业务层。

一个心跳就一个 bit,跟那一大堆 http 请求、视频流量比起来简直是九牛一毛,这是从流量角度。

再说服务器端并发,你以为抖音这种是缺钱缺机器的主?我没用过抖音,不确定抖音是怎么实现的,但是要想实现即时的服务器端主动的信息通知,长链接是必须的,实现方式是多样的。
loveuqian
2019-06-18 16:42:55 +08:00
苹果这边应该是只需要一个心跳吧

手机连着苹果的推送服务器
推送都是发到苹果的推送服务器
不是直接到 app
ochatokori
2019-06-18 16:44:18 +08:00
ws 又不是不行,只不过不是最佳方案而已,11 楼怎么就和 ws 没有半毛钱关系了?
dobelee
2019-06-18 16:52:38 +08:00
不就是个长连接吗?这都能撕。。。
jackchao7432
2019-06-18 17:22:07 +08:00
@mengyaoss77 哈哈。。。用 01
cominghome
2019-06-18 18:03:18 +08:00
@ochatokori 不止“不是最佳方案”吧,架构师脑子正常的正常情况下消息推送都不会用 ws 来做的。
akira
2019-06-18 19:02:21 +08:00
长链接 /轮询
phithon
2019-06-18 21:00:32 +08:00
这帖子给我整糊涂了
genglintong
2019-06-18 21:14:50 +08:00
个人感觉,没有最好, 只有合适不合适。
在抖音这种场景下,个人觉得是长连接获取的。

在某些其他场景,比如功能活跃度较低的功能,可能使用异步推送等方式
pubby
2019-06-18 21:17:06 +08:00
@cominghome 脑子正常的架构师会怎么做?
myself659
2019-06-18 21:19:13 +08:00
实时通知
用什么实现 一般用 websokt
做成什么样 有多少实时? 取决于网络与推送的及时程序
koalli
2019-06-18 22:04:46 +08:00
@cominghome 我也想知道脑子正常的架构师会怎么做...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/574945

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX