目前的情况是 : 安卓app给用nodejs搭建的服务器发送注册请求, nodejs负责调用相关的api去向环信注册.
但是环信对api有限流, 所以想做成批量处理, 比如每秒调用一次批量注册的api.
(环信接口限流说明 : http://docs.easemob.com/im/450errorcode/45restastrict)
现在的问题是 首先我不太清楚缓存请求有没有比较好的方法, 其次是针对每个安卓app发来的请求, 都要返回消息告知成功还是失败, 如果缓存了做批量处理的话, 还如何给app返回消息呢?
nodejs如何缓存手机app发来的请求, 批量处理的同时还能给app返回处理结果?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Nightwish93 2017-05-09 23:39关注
根据你的描述,由于api请求限流,例如30次/秒,可以使用javascript 的 setInterval方法,每隔 34ms 发送一次请求,请求可写在回调函数中。
也可每隔1秒批量发送30个请求,具体性能自己测试可得。对于api请求的调用,推荐使用 fetch 这一javascript语法,它是由封装Promise实现的,
在then方法中实现回调函数,即返回客户端告知成功失败与否。(也可使用 request 等库)对于批量发送请求,即 nodejs 异步事件队列的请求实现,可参考 thenjs库,它实现了对每个数组元素的异步函数实现及回调,或可参考我的两篇
博客(1) (2)对于缓存请求来说,既然能在回调中实现告知客户端的功能,可能就不需要了,如果要缓存,推荐使用 Redis,若要持久化,则使用MySQL, 具体不再赘述。
以上为本人一点愚见,仅供参考。祝楼主工作顺利。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 slam rangenet++配置
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊