yur*_*ata 5 javascript typescript pm2 nestjs
我有一个 NestJS 应用程序。我习惯于在集群模式下使用 PM2 部署 NodeJS 应用程序(多个实例运行)。
问题是 NestJS 使用 Singleton 模式来提供服务。我的一些功能依赖于此功能(使用可以全局访问并保持其值的服务属性)。
使用 PM2 集群模式会遇到问题吗?NestJS可以通过实例共享这个Singleton吗?
Obs:我不想增加项目的复杂性。例如,安装 Redis 来保存全局数据。
小智 -1
在 PM2 的集群环境中,每个集群实例作为单独的进程运行,并且它们不直接共享内存。由于 NestJS 服务是单个进程中的单例,因此在实例之间共享数据并不简单。
如果您依赖于单个 NestJS 实例中的单例服务,则在使用 PM2 集群模式时可能会遇到问题,因为每个实例都是独立运行的,一个实例中的更改不会反映在其他实例中。
为了解决这个问题而不增加外部复杂性,您可以考虑在 NestJS 应用程序中使用内存缓存。例如,您可以使用诸如NestJS 之类的memory-cache内置缓存库。CacheModule这允许您在同一实例内的请求之间共享一些数据。
让我知道这是否有帮助,我也会尝试使用一些代码进行更新。
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |