目前的情况是 : 安卓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 seatunnel-web使用SQL组件时候后台报错,无法找到表格
- ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
- ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
- ¥30 3天&7天&&15天&销量如何统计同一行
- ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
- ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
- ¥15 vs2019中数据导出问题
- ¥20 云服务Linux系统TCP-MSS值修改?
- ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
- ¥20 怎么在stm32门禁成品上增加查询记录功能