弹性beanstalk中的多个Nodejs应用程序

时间:2017-09-04 07:26:58

标签: node.js amazon-web-services elastic-beanstalk devops

我有一个包含多个服务,web和worker的nodejs项目。所有这些服务都在同一个repo中,唯一不同的是用于调用它们的脚本。

我想为每项服务配置不同的配置,但我也想让它们保持在1个回购之下。我可以使用环境,但那会破坏我的真实环境,如制作,舞台等。 如何在这种架构中使用弹性beanstalk?构成环境是最好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题,每个方法都有其优缺点。我过去所做的是将我的配置上传到特定的S3存储桶,这通常是公众无法读取的。然后我会创建一个签名的URL(适用于未来几年,或其他任何),并将其设置为Beanstalk配置中的环境变量。然后,在我的.ebextensions/01-setup.config(或类似的地方),我有这个:

{
  "container_commands": {
    "copy_config": {
      "command": "curl $CONFIG_URL > conf/config.json"
    }
  }
}

在启动时,容器会从S3存储桶中获取配置的副本,在本地复制它,然后应用程序将使用此配置启动。

维护非常简单。