javascript - 如何避免前端轮询太频繁对服务器造成压力
PHP中文网
PHP中文网 2017-04-10 14:55:31
[JavaScript讨论组]

一个微信小游戏,要定时根据后台的状态做出反应,对实时性有一定要求。
现在是每秒都会发送一个ajax请求根据返回值来看状态是否改变,但是怕这样使用的人多了以后对服务器造成压力~
不知道大家有什么好的解决方法没有~

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
PHP中文网

后端加缓存

  1. 加一层Redis或者Memcache做缓存,缓解对后端特别是数据库的压力,当然也要控制好缓存的过期

前后端结合

  1. 根据在线人数和服务器系统负载动态确定轮训的初始间隔,接着利用类似于拥塞控制的算法让每次轮训间隔可变
  2. 使用Comet,Metor,Socket.io这样的中间件,配合AJAX或者WebSocket,实现PUB/SUB模式

纯前端方案

  1. 选择一款合适的支持实时推送的BaaS(后端即服务),我自己用过Firebase,类似还有若干
黄舟

状态改变由服务端主动推

巴扎黑

用NodeJS的socket.IO模块

PHP中文网

"websocket,轮询,长连接"三选一

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号