我们是一个由10名开发人员组成的团队,试图将流程密集型作业从Heroku上的Rails应用程序转移到AWS Lambda (Java)。我们在决定是通过API网关调用lambda函数还是通过AWS Ruby直接调用lambda函数时受到阻碍。根据用例的不同,我们可能还必须异步调用lambda。我们的有效载荷非常小(< 1-2 KB).我们正在考虑直接调用,主要是为了最大化执行时间。我们在这里寻找指针:
发布于 2017-07-18 03:01:07
正如其他人所指出的,添加API网关并不能提高性能,但确实会增加额外的开销。如果它提供的任何附加特性对您有用,请使用API。如果您控制客户机,可以在具有直接调用Lambda函数的权限的客户端上获得凭据,并且不需要/不需要任何附加的API网关特性,即go with Lambda直接调用。
发布于 2017-07-11 11:53:23
直接的lambda呼叫速度更快,b/c有一个网络跳数减少。我怀疑您能否直接比较lambdas/APIG在IAM验证的延迟方面,但我们已经对lambda-lambda调用和lambda-APIG-lambda调用进行了基准测试,其中lambdas不工作,即只返回事件对象。平均时间如下:
所以额外的酒税是20毫秒。我们在可行的情况下使用lambda-lambda调用,特别是对于我们不想暴露给世界的lambda。
https://stackoverflow.com/questions/45032809
复制相似问题