通过容器Web应用程序或生产中的常规Web应用程序在Azure中运行NodeJS应用程序

时间:2019-06-19 12:46:52

标签: node.js azure containers azure-web-app-service azure-app-service-plans

在Azure上的生产环境中运行nodeJS应用程序的最佳方法是什么? 在docker映像中不能使用PM2,因为这会导致两层负载平衡和监视,从而增加了复杂性。

选项: 使用常规网络应用

专业版:

  • 可以使用PM2

  • 应用程序可以使用多个进程,因此可以使用多个进程 每个AppService实例的核心,因此一个AppServicePlan实例可以 更好地适应容量。

使用容器网络应用

专业版:

  • 该应用程序可以轻松地在其他地方使用,因为 docker image更好地控制环境

缺点:

  • 每个AppServicePlan实例仅一个进程
  • 如果应用程序崩溃直到新容器出现,则可能会停机 准备好

1 个答案:

答案 0 :(得分:0)

这两个选项中的任何一个都是完全有效的。权衡每种选择的利弊的方法是正确的-这些将因您的情况而有所不同,这就是为什么无法提供整体的“最佳”部署方法的原因。

我要注意的一件事是,Azure通过手动或通过您设置的规则为多个实例提供了apps scaled out的负载平衡。如果单个实例发生故障,这将有助于减少停机时间。

enter image description here