跳至主要内容

部署 Prisma ORM

使用 Prisma Client 的项目可以部署到许多不同的云平台。鉴于云平台的多样性和不同名称,值得一提的是不同的部署范式,因为它们会影响您使用 Prisma Client 部署应用程序的方式。

部署范式

每种范式都有不同的权衡,这些权衡会影响应用程序的性能、可扩展性和运营成本。

此外,应用程序的用户流量模式也是一个重要的考虑因素。例如,任何具有持续用户流量的应用程序可能更适合 持续运行的范式,而具有突然峰值的应用程序可能更适合 无服务器

传统服务器

如果 Node.js 进程持续运行并同时处理多个请求,则您的应用程序被 传统部署。您的应用程序可以部署到平台即服务 (PaaS)(例如 HerokuKoyeb),作为 Docker 容器部署到 Kubernetes,或者作为 Node.js 进程部署到虚拟机,或者部署到传统的裸机服务器。

另请参阅:长运行进程中的连接管理

无服务器函数

如果应用程序的 Node.js 进程(或将其分解成函数的子集)在请求到来时启动,并且每个函数只处理一次请求,则您的应用程序是 无服务器的。您的应用程序最有可能被部署到函数即服务 (FaaS) 产品,例如 AWS LambdaAzure Functions

无服务器环境具有暖启动的概念,这意味着对于相同函数的后续调用,它可以使用已经存在的容器,该容器具有分配的进程、内存、文件系统 (/tmp 在 AWS Lambda 上是可写的) 以及甚至可用的 DB 连接。

通常,任何 处理程序外部的代码 保持初始化。

另请参阅:无服务器环境中的连接管理

边缘函数

如果您的应用程序是 无服务器的 并且函数分布在靠近用户的多个区域,则您的应用程序被 边缘部署

通常,边缘环境与传统环境或无服务器环境相比,具有不同的运行时,这会导致常见的 API 不可使用。