部署 Prisma ORM
使用 Prisma Client 的项目可以部署到许多不同的云平台。考虑到云平台的种类繁多和名称各异,值得一提的是不同的部署范式,因为它们会影响使用 Prisma Client 部署应用的方式。
部署范式
每种范式都有不同的权衡,会影响应用的性能、可伸缩性和运营成本。
此外,应用的用户流量模式也是需要考虑的重要因素。例如,流量稳定持续的应用可能更适合持续运行范式,而流量波动较大的应用可能更适合无服务器范式。
传统服务器
如果 Node.js 进程持续运行并同时处理多个请求,则您的应用属于传统部署。您的应用可以部署到平台即服务 (PaaS),例如 Heroku、Koyeb 或 Render;也可以作为 Docker 容器部署到 Kubernetes;或者作为 Node.js 进程部署到虚拟机或裸机服务器。
另请参阅:长时运行进程中的连接管理
无服务器函数
如果您的应用的 Node.js 进程(或将其分解为函数的子集)在收到请求时启动,并且每个函数一次只处理一个请求,则您的应用属于无服务器部署。您的应用最有可能部署到函数即服务 (FaaS) 产品,例如 AWS Lambda 或 Azure Functions
无服务器环境有热启动的概念,这意味着对于同一函数的后续调用,它可能会使用一个已存在的容器,该容器具有已分配的进程、内存、文件系统(在 AWS Lambda 上 `/tmp` 是可写的),甚至数据库连接仍然可用。
通常,处理程序外部的任何代码段都保持初始化状态。
另请参阅:无服务器环境 (FaaS) 中的连接管理
边缘函数
如果您的应用是无服务器的,并且函数分布在一个或多个靠近用户的区域中,则您的应用属于边缘部署。
通常,边缘环境也与传统或无服务器环境具有不同的运行时,导致常用的 API 不可用。