AWS架构:将作业路由至工作人员池 [英] AWS architecture: route job to pool of workers

查看:21
本文介绍了AWS架构:将作业路由至工作人员池的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的场景:

  1. 有一个放置文件的S3存储桶。
  2. 删除文件时,会触发lambda函数,该函数会执行某些操作。
  3. 我希望为删除的每个文件执行一些操作,并且这些操作应由工作进程池处理。
我认为lambdas不是工作者的最佳解决方案,因为它们会在不受控制的情况下繁殖,所以也许我可以让lambdas将消息发布到一个队列,并让固定数量的工作者(池)从队列中异步读取消息。也许仅仅是质量体系就足够了。至于工作人员,只要我能指定并发读取器的数量(池大小),任何可以从SQS读取的技术都可以做到这一点。

对此解决方案有什么意见?

推荐答案

这种对基于lambda的工作者过度繁殖的担忧相当普遍。众所周知,基于lambda的工作人员可以轻松地:

  • 溢出并终止其依赖的下游API(&A)。
  • 可能导致数据在其间丢失的命中率限制。
  • 由于活动突然激增,其凭据被阻止。

此问题的常见解决方案是使用ReservedConcurrentExecutions属性来限制在给定时间可以运行的并发lambdas的数量。

对于需要更高吞吐量的应用程序,组织通常可以求助于:

  • 下游接口扩容
  • 将数据方向模型从基于云的工作者数据推送到下游系统,改为downstream systems pull the data from the cloud instead

这篇关于AWS架构:将作业路由至工作人员池的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆