组合 rest api 调用以减少 # 请求值得这样做吗?



我的服务器曾经处理700+用户突发,现在它在大约200个用户时失败了。
(用户在点击推送消息后几乎同时连接到服务器(

我认为这种变化是由于请求方式的改变。

当时,Web服务器将所有信息收集在HTML中的单个响应中。 现在,页面中的每个部分都在发出一个 rest api 请求,从而可能增加 10+ 个请求。

我正在考虑创建一个 api 端点来聚合用户单击推送通知时将打开的页面请求。

我想到的另一种解决方案是缓存那些常用的 rest api 响应。

组合 api 调用以减少 api 调用是个好主意吗?

减少 API 调用总是一个好主意。最佳解决方案是一次性获取所有必要的数据,而无需任何未使用的信息。 这会导致更少的流量、更少的服务器请求(和负载(、更少的 RAM 和 CPU 使用率以及更少的并发数据库操作。

缓存也是一个不错的选择。您可以考虑缓存整个请求和单独的响应部分。

组合的 API 响应意味着只有一个响应,这将减少执行前时间(应用加载所有内容(,但会增加处理时间,因为它在一个线程中执行所有操作。这将导致流量减少,但响应时间稍慢。

从用户的角度来看,这意味着如果您将所有内容组合在一起,页面加载速度会变慢,但是当它这样做时,它将完全加载。

这是一个找到平衡的问题。

对于是否值得做的问题 - 这取决于您的设置。您应该测量应用程序的启动时间和执行时间并进行数学运算。

您应该考虑的另一件事是这可能需要的时间。还有增加服务器功率的解决方案,例如创建群集缓存并使用负载平衡器来拆分负载。您应该比较任务和从那里开始工作所需的时间。

最新更新