【发布时间】:2018-10-24 09:20:01
【问题描述】:
我有一个客户端,它不断地将半实时数据倒入一个 sqs 队列,并且想要处理和存储消息。我的第一个想法是使用 CloudWatch 调度程序,它会提示 Lambda 大约消息数量,然后 lambda 会生成工作 lambda 以处理数据并将数据推送到 Firehose。问题是每天都会有数十万条消息进入队列。我也可以使用 EC2 来执行此操作,但是否有任何其他经济高效的方式来半实时处理队列。
【问题讨论】:
-
每条消息需要多少处理?一个 t2.nano 的费用为 0.14 美元/天。 Lambda 最终会比小型 EC2 贵得多。
-
@stdunbar 处理一条消息大约需要 0.012 秒。 EC2似乎是要走的路。谢谢。
-
可能是 SQS 不是执行此操作的正确服务。由于您的数据看起来像一个流,您可能需要查看
Kinesis。 -
@Asdfg 我很想使用 Kinesis,但客户端出于某种原因仅将数据转储到 SQS。 SQS 不是此任务的最佳资源。
-
如果流不是一个选项,具有基于队列长度的应用程序自动缩放的 ecs 服务可以很好地用于 sqs。
标签: amazon-web-services amazon-ec2 aws-lambda amazon-sqs