0

我正在设计一个带有四个端点的API。如果它们执行相同的操作,可以在单独的lambdas中运行单独的终端节点吗?

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

哪里{shops}可以是:

  • alpha-one(生产)
  • alpha-two(发展)
  • alpha-three(分期)

{env}可以是:

  • test(键)
  • live(键)

端点是如下:

  1. /shop/alpha-two/payment/test/endpoint
  2. /shop/alpha-three/payment/live/endpoint
  3. /shop/alpha-three/payment/test/endpoint

我有两个选择,当涉及到使用在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
    • ​​
      • /payment
        • /{env}
          • /endpoint
            • POST>my-func

问:

  • 是否有运行单独的最终任何好处点在单独的lambda?鉴于的性能和可用性是最重要的?
+0

我至少可以将12个后续问题想象成书面的,而我真的不确定首先回答5个问题中的哪一个。为了获得最佳结果,我会考虑重写或简化问题? –

+0

@RodrigoM呃,它实际上只是归结为每个端点与一个端点的env变量和不同lambda表达式,但即使这两个事物都相互影响。 – ThomasReggi

+0

好的谢谢,帮助 - 如果你喜欢,我会很高兴开始聊天。我有一些问题/想法。你可以设置一个聊天室并邀请吗?不知道这是如何工作。 –

回答

1

作为单独的端点运行是有好处的。您可以分别设置单个资源(alpha-one,alpha-2)和live/test环境的节流限制。您也可以首先部署到测试端点中的lambda函数,然后部署到实时端点,从而进行分阶段部署(蓝色/绿色部署)。

相关问题