我有一个运行多个数据库查询的Web服务,大约需要大约500毫秒到1,000毫秒(取决于调用时给定结点的I / O EC2决定给我的程度)。用户想要的东西超过1,000毫秒,这是可以理解的。我正在考虑做的是获取请求参数,将它们填充到redis队列而不写入磁盘,然后在执行磁盘写入的异步队列中运行作业。这样的事情在实践中是否正常发生?我是不是建议它疯了?
答案 0 :(得分:3)
只要您的Redis定期持续到磁盘,这应该可行。您希望限制可能丢失数据的方案的数量。对于大多数情况,Redis的充分激进的持久性计划应该有效。
尝试立即向用户提供已收到并正在处理其操作的反馈。没有什么比看起来可能促使人们再次尝试上传之前的轻微延迟更令人困惑。