【问题标题】:Scalable architecture to POST S3 Objects to EKS API将 S3 对象发布到 EKS API 的可扩展架构
【发布时间】:2022-10-19 04:46:26
【问题描述】:

我们有一个运行我们的 API 的 EKS 集群和一个具有数千个对象(目前约为 3K)的 S3 存储桶,作为另一个批处理作业的一部分,每周同时更新。每次有更新时,我们都希望将对象 POST 到 API 以处理对象。每个对象的平均处理时间约为 5 分钟。

到目前为止,我们使用 S3 事件传递到 SQS 队列,我们​​希望找到一个事件驱动的解决方案来通知 EKS API 在出现新消息时从队列中轮询。由于(相对)有限的 lambda 并发执行(配额)和不断增加的对象数量(例如,下周 3K 可能是 4 或 5K),这很难估计。

理想情况下,我们希望在出现新消息时通知 pod 从队列中批量轮询(例如,大小为 10)。是否有任何设计或服务可以在 AWS 中实现这一目标?

【问题讨论】:

  • 你能写你自己的 SQS 消费者吗?将您的应用程序配置为直接从 SQS 队列读取(而不是通过 HTTP 触发它),或者编写一个从 SQS 读取并从那里触发 API 的桥接模块?
  • @DavidMaze 感谢您的回复。我可以编写自己的消费者,但我希望这是最后的解决方案。奇怪的是,没有明显的方式或服务可以从 S3 向具有自定义延迟/逻辑的 API 发出请求。

标签: amazon-web-services kubernetes amazon-s3 amazon-eks


【解决方案1】:

您可以使用 EventBridge 和 Step Functions 在 EKS 中触发作业,如下所述:https://aws.amazon.com/blogs/containers/run-event-driven-workflows-with-amazon-eks-and-aws-step-functions/

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2011-07-27
    • 1970-01-01
    相关资源
    最近更新 更多