组织调用 lambda 函数

我得到了写成 go AWS lambda 函数的订单微服务。

API Gateway绑定的名为order-service的主函数。它接收多个参数,如user_id:int, product_ids:arrayint,创建带有工件的订单并返回带有 order_id 和总价的序列化订单。此函数调用一个名为 order-item 的函数,该函数创建一个订单项并并行返回它们(每个产品)。这些功能调用产品和用户功能以通过其 ID 检索有关用户和产品的信息。然后,订单函数调用另一个名为 fee-function 的 lambda,它只接受总价和用户 ID 并返回费用价格。当然,它会调用一些其他函数,如用户函数等。基本上,这是服务一般如何工作的一个简单示例。任何功能都会调用其他功能,例如用户折扣、州税等。

问题是:

  1. order function 通过Amazon 调用fee function 是不是很好,但是它可以只导入fee handler 包并在自己内部运行它?(但是,fee 函数可以从外部调用,所以它也必须作为一个单独的函数部署)

  2. 每个函数只接收用户 ID 并加载调用用户函数的用户是不是很好?也许,更好地预加载它并在任何地方传递它?还有别的吗?

  3. 一个函数调用其他函数然后调用其他函数等等这样好吗?我的情况有更好的方法吗?使用 SNS、Step 函数、依赖注入/aws 层。

之所以问,主要是为了承受几千转,不付出太多。

感谢您的帮助。我很欣赏这个。


holdtom
浏览 113回答 1
1回答

慕虎7371278

这正是创建 Step Functions 的目的。您可以从API Gateway调用 Step Functions 状态机,就像调用 Lambda 一样。使用 Step 函数,您可以:调用带参数的状态机编排调用 Lambda 函数的顺序使用状态存储每个 lambda 的输入和输出有决策点根据前一个函数的输出采取不同的路径
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go