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