首页 > 解决方案 > NestJS - 使用 Injectable 请求我会失去什么样的问题或性能?

问题描述

我在使用 NestJS 的 Node 项目前面,因为我来自 C# 我将服务结构设置为可注入范围请求

在我看来,单个实例与类不匹配,因为您受制于函数中的参数,并且无法使用类可以提供的所有内容,例如设置属性。

我搭建的架构过于复杂,无法用几句话来解释,所以我不会详细介绍,我想知道的是,在所有服务中使用 Injectable 范围请求会出现什么问题?

示例 https://github.com/diegodarossi/nestjs

标签: node.jsnestjs

解决方案


这是一个超级自以为是的问题,我怀疑您在排除某些服务完全可以成为单例的可能性方面进行了一些过早的优化。

请给出 Singleton 不适合您的用例的模式的一些具体原因,我们可以尝试提供进一步的指导。

就您原始问题的“问题”而言,如果您将所有请求都设置为范围,那么您将不得不支付解决和实例化每个请求的依赖关系的性能成本,而不是在应用程序引导期间。由于需要在每次请求后释放这些资源,因此总体上还会消耗更高的内存并对垃圾收集施加更大的压力。

我们无法判断这是否是您的应用程序的实际问题。您应该只做一些性能分析,看看这是否可以接受


推荐阅读