java系统找不到指定文件怎么解决
257
2022-09-28
AWS serverless设计-Lambda
AWS serverless设计-Lambda
1. 同时执行的次数有限制
Lambda原理其实是不断增加的容器技术。每一个请求就是开启一个容器。并发执行=(每秒调用次数)x(平均执行时间(秒))
例如,一个Lambda函数平均耗时10秒,每秒发出100个事件会同时执行1000个Lambda函数,这就是极限。
奇妙的是,世界上每个地区的限制其实还不太一样,像美国好像是2000限制。普通地区AWS Lambda在同一账户的同一区域内限制为1,000。当达到限制时,进一步的函数调用被限制(节流)。注意是同一个账户,不是同一个函数。
有几种方法可以避免限制。
其中之一是“重试处理”。对于同步处理,当发生限制时,Lambda函数会返回 429 错误。如果发生此错误,函数的调用者将执行重试过程。在异步处理的情况下,它会以最长6小时的间隔自动重试。
此外,在 AWS Lambda 的情况下,申请放宽上限, (但是,很难被接受)。
监控和错误分析非常复杂
多个功能在无服务器应用程序中协同工作。 因此,它实际上比一般应用程序更难监控。 Lambda 在运行时也可用于 Java 和 Python 等多种语言。 但是 Lambda 提供的大部分运行时都隐藏在内部,出现问题时难以分析和隔离检查。 当然使用AWS CloudWatch日志可以看到足够多的错误信息。一般排查也够用的其实,相对其他的来说已经很好了。比如splunk,Nmap这些
执行时间限制
对于执行时间有限的 AWS Lambda,执行时间在15分钟内。如果有一个执行会超过15分钟的话,需要将进程划分并且并行化。而且需要考虑Lambda以外的无服务器服务的限制。
例如,API Gateway + Lambda。在这种情况下,您还应该考虑 API 网关的限制。在 API Gateway 的情况下,规范是它最多会在 29 秒内超时。因此,该值会在 29 秒内从 Lambda 函数返回,之后该过程将异步执行。如果流程难以划分和并行化,则需要使用 Amazon EC2 实现需要 15 分钟或更长时间的流程。
AWS Lambda 不能单独使用
不能单独使用 AWS Lambda 执行 Lambda 函数。 为了执行 Lambda 函数,需要设置一个触发器来触发进程在另一个服务资源中启动。
执行 Lambda 的触发器主要有两种类型。 第一个是与触发器同步调用函数的类型。 这适用于 API Gateway 和手动执行。 第二种是检测事件发生并异步执行函数的类型。 这包括从 Amazon S3、CloudWatch Log、CloudWatch Events 等运行。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~