在步入到 AWS 后,设计一个典型的分布式计算任务模式是
- 提交任务的客户端把一组组待计算任务的输入编制成消息发送到 SQS 或 SNS 队列中SQS 消息可被 ECS 或 Lambda 处理, SNS 消息还能触发 Lambda,ECS/Lambda 完成实际的计算任务结果可以保存到 Redis, S3 或别处, 如果提交任务端想要获取计算结果,可用 ID 来追踪
用 ECS 的好处是可以基于 SQS 的消息数进行 AutoScaling 配置,决定 Worker 的规模; 用 Lambda 适当的用 Concurrency 数来限定 Lambda 的实例数。
而 Python 的 Celery 让这一切变得更简单,它其实就是以上设计的一个集成方案。它以配置的方式选择使用任务队列(Broker), 结果存储方式(Backend), 让任务提交与 Worker 的代码实现简单化。 >">阅读全文 >>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)