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