发送多个请求以获得最终响应或保留第一个请求?
Send several request to get the final response or hold the first request?
我正在设计一个 API REST 服务,需要一些时间来响应。
我想知道哪种方式更好,发送多个请求以获得最终响应或保留请求直到响应准备好。
例如,
一所学校有120名学生,需要1分钟才能获取所有学生的名字。
每 10 秒发送一次请求以获取 20 名学生姓名直到我们获得 120 名学生是否合适。或者在 1 分钟后与 120 名学生保持请求和响应?
(请注意,某些浏览器和 httpClient 会在 1 分钟后超时请求,因此存在风险)
(注意,发送更多的请求可能会被检测为 DOS 攻击)
对于这样的问题,我列出了 pro/con 然后查看结果。通常,在创建这些列表时,会出现更好的解决方案。
两者都没有明确的技术优势。
当请求需要一分钟时,用户是否会认为服务已关闭并重新加载页面?那真的会造成 DDoS 攻击。
用户会阅读全部 120 个条目吗? Google 只是 returns 一些,因为经验表明大多数人阅读了前 3 个。
为什么要花这么长时间?数据库中的索引错误?还是您加载了太多数据?也许只获取学生的姓名、系和年份就足够了。或者创建一个保留视图 table 的作业,其中查询所需的所有数据都合并在一个 table 中。这样,加载数据只需几毫秒。
或者加载 20 个如何,显示它们并等待用户是否向下滚动(关键字 "infinite scrollers")。另一种选择是分页(加载 20 个元素并显示 next/previous 个按钮)。
我正在设计一个 API REST 服务,需要一些时间来响应。 我想知道哪种方式更好,发送多个请求以获得最终响应或保留请求直到响应准备好。 例如,
一所学校有120名学生,需要1分钟才能获取所有学生的名字。
每 10 秒发送一次请求以获取 20 名学生姓名直到我们获得 120 名学生是否合适。或者在 1 分钟后与 120 名学生保持请求和响应?
(请注意,某些浏览器和 httpClient 会在 1 分钟后超时请求,因此存在风险) (注意,发送更多的请求可能会被检测为 DOS 攻击)
对于这样的问题,我列出了 pro/con 然后查看结果。通常,在创建这些列表时,会出现更好的解决方案。
两者都没有明确的技术优势。
当请求需要一分钟时,用户是否会认为服务已关闭并重新加载页面?那真的会造成 DDoS 攻击。
用户会阅读全部 120 个条目吗? Google 只是 returns 一些,因为经验表明大多数人阅读了前 3 个。
为什么要花这么长时间?数据库中的索引错误?还是您加载了太多数据?也许只获取学生的姓名、系和年份就足够了。或者创建一个保留视图 table 的作业,其中查询所需的所有数据都合并在一个 table 中。这样,加载数据只需几毫秒。
或者加载 20 个如何,显示它们并等待用户是否向下滚动(关键字 "infinite scrollers")。另一种选择是分页(加载 20 个元素并显示 next/previous 个按钮)。