【发布时间】: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