我有一个场景,其中前端应用程序使用JSON请求调用后端DB (APP -> API网关-> SpringBoot -> DB)。后端返回响应大小为10 MB的非常大的数据集(>50000行)。
我的前端应用是高度响应和任务关键,我们看到了性能问题;前端的应用程序没有响应或定时。解决这个问题的最佳设计是什么?
谢谢。
发布于 2019-03-15 06:31:45
听起来这是搜索生成的报告。如果这些数据需要相互关联,我将为搜索分配一个id并恢复服务器上的结果。然后,根据需要在前端提取该id的数据。你不应该一次把50,000行发送给客户.对数据进行分页,必要时按需要进行拉。如果您不想分页,它们能在一个屏幕上显示多少数据?您可以根据服务器在页面上滚动的位置从服务器中提取更多数据。您应该只需要将行的计数返回到前端,并可能返回100行数据。这将允许您显示一个具有正确高度的滚动条。当它们滚动到数据中的某个位置时,您可以从服务器中提取相应的偏移量,用于特定的搜索id。即使您可以一次返回所有的50,000+行,对于最终用户的设备来说,不得不为一个功能页面加载这样的内存听起来并不是很友好。这是一个有缺陷的前瞻的迹象,应该重新做。
发布于 2019-03-15 06:02:43
10 if是巨大的,可能是不考虑您的用户,特别是如果有一个很高的可能性移动使用。
如果可能,最好在后端收集这些数据,可能将其放到磁盘上,然后根据需要只向前端提供必要的数据。由于地图需要更多的数据,所以需要对后端进行进一步的调用。
如果这是不可能的,您可以用客户端包加载这些数据。如果数据更新不频繁,甚至可以将其缓存在前端。这至少可以防止用户需要重复获取它。
https://stackoverflow.com/questions/55176383
复制相似问题