如果它们做同样的事情,可以在单独的lambdas中运行单独的端点吗?

时间:2016-06-13 20:52:33

标签: amazon-web-services environment-variables versioning api-design aws-api-gateway

我正在设计一个包含四个端点的API。

/shop/{shop}/payment/{env}/endpoint

{shops}可以是:

  • alpha-one(制作)
  • alpha-two(发展)
  • alpha-three(分期)

{env}可以是:

  • test(键)
  • live(键)

端点如下:

  1. /shop/alpha-one/payment/live/endpoint
  2. /shop/alpha-two/payment/test/endpoint
  3. /shop/alpha-three/payment/live/endpoint
  4. /shop/alpha-three/payment/test/endpoint
  5. 在AWS API网关中使用这些端点时,我有两个选择。

    选项1.我可以像这样明确地设置api链中的每个函数:

    • /shop
      • /alpha-one
        • /payment
          • /live
            • /endpoint
              • POST> my-func-one
      • /alpha-two
        • /payment
          • /live
            • /endpoint
              • POST> my-func-two
      • /alpha-three
        • /payment
          • /live
            • /endpoint
              • POST> my-func-three
          • /test
            • /endpoint
              • POST> my-func-four

    选择2.或者我可以这样做并让代码解决所有问题。

    • /shop
      • /{shop}
        • /payment
          • /{env}
            • /endpoint
              • POST> my-func

    问题:

    • 在单独的lambdas中运行单独的端点有什么好处吗?鉴于/shop/alpha-one/payment/live/endpoint的性能和可用性最重要?

1 个答案:

答案 0 :(得分:1)

作为单独的端点运行有好处。您可以分别为各个资源(alpha-one,alpha-two)和实时/测试环境设置限制。您还可以先部署到测试端点中的lambda函数,然后再部署到实时端点,进行分阶段部署(蓝/绿部署)。