长连接与轮询,性能上如何取舍。

发布于 2021-12-03 11:34:01 字数 294 浏览 959 评论 8

场景描述:

假设有直播业务,单场直播同时在线人数5000左右,需统计用户观看时长。现需统计每个用户的观看时长,统计指标就是基本的:进入时间,离开时间。现选用两种方式:

1. 轮询。在页面中放置定时,间隔若干分钟向后台发起请求并将时间入库。

2. 长连接。用户进入即创建长连接,用户离开关闭长连接并一次性写入用户观看时长。


问:

1. 两种形式从性能上来说,哪种更好。

2. 有没有其他统计时长的方式,例如心跳。可以拍砖。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

緦唸λ蓇 2021-12-04 15:59:18

心跳包  session上报 轮询

青萝楚歌 2021-12-04 15:59:16

应该采用直播框架去实现会好一点

等你爱我 2021-12-04 15:58:33

长连接肯定不行

情场扛把子 2021-12-04 14:23:24

允许"若干分钟"的间隔当然选AJAX轮询,发挥HTTP的优势,否则直播时维持5000个长连接,这也太浪费资源了吧.

温柔少女心 2021-12-04 13:47:24

轮询。简单,快捷,实用。

爱的那么颓废 2021-12-04 13:32:36

心跳检测啊,在直播页面也或者客户端嵌入一段代码,每隔30秒或者更短发回一个状态,或者直接发回cookes也行,这样不就统计到了在线时间?

长安忆 2021-12-04 04:07:31

UDP确实最好选择

瀞厅☆埖开 2021-12-03 21:27:58

只说一点,这个场景不适合用Java开发,Java的IO性能很一般。

没做过直播的项目,按理解,应该用UDP适合点,如果没理解错,那么你这里说的长连就不存在了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文