假设我正在使用 Spring 设计一个 REST 服务,并且我需要一个接受文件并返回某种 ResponseDto 的方法。应用程序服务器的 POST 请求大小限制为 100MB。这是假设的弹簧控制器方法实现:
public ResponseEntity<ResponseDto> uploadFile(@RequestBody MultipartFile file) {
return ResponseEntity.ok(someService.process(file));
}
Run Code Online (Sandbox Code Playgroud)
假设我的服务器有 64GB RAM。如果在短时间内(足够短,足以让process()方法仍然对上传的每个文件运行),1000 个用户决定上传 100MB 文件(或者只有 1 个用户同时上传),如何确保不会出现内存不足错误1000 个文件)?
编辑:为了澄清,我想确保我的应用程序不会崩溃,而只是停止接受/延迟新请求。