跳至主要内容

部署 Prisma ORM

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

部署范式

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

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

传统服务器

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

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

无服务器函数

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

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

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

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

边缘函数

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

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