跳到主要内容

部署 Prisma ORM

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

部署范例

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

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

传统服务器

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

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

无服务器函数

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

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

通常,任何代码片段 在处理程序之外 保持初始化状态。

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

边缘函数

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

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