Aws lambda 用于低吞吐量事件驱动体系结构的Databricks或AWS Lambda

Aws lambda 用于低吞吐量事件驱动体系结构的Databricks或AWS Lambda,aws-lambda,databricks,Aws Lambda,Databricks,我希望建立一个事件驱动的体系结构来处理来自SQS的消息并加载到AWSS3中。这些事件将是低容量的,我正在考虑使用Databricks或AWS lambda来处理这些消息,因为这是我们已经购买的两个工具 我想知道哪一个是最好的,因为我正在努力区分这两个任务,因为吞吐量每天只有1000条消息,目前不太可能更高,所以两者都可以 我只是想看看其他人会考虑什么,把它们看作是这两种产品之间的区别,这样我就可以确保这是我能做的最好的证明? 我们在我工作的地方更多地使用lambda,这可能有助于保持它的一致性,

我希望建立一个事件驱动的体系结构来处理来自SQS的消息并加载到AWSS3中。这些事件将是低容量的,我正在考虑使用Databricks或AWS lambda来处理这些消息,因为这是我们已经购买的两个工具

我想知道哪一个是最好的,因为我正在努力区分这两个任务,因为吞吐量每天只有1000条消息,目前不太可能更高,所以两者都可以

我只是想看看其他人会考虑什么,把它们看作是这两种产品之间的区别,这样我就可以确保这是我能做的最好的证明?

我们在我工作的地方更多地使用lambda,这可能有助于保持它的一致性,因为我们有更多的AWS技能,但我们正在寻求建立databricks能力,我个人确实发现它更容易使用

如果是大数据的话,我会更容易做出决定


谢谢

在这种情况下,AWS Lambda似乎是一个更好的选择。与DataBricks相比,以下是使用Lambda可以获得的一些好处

专业人士

  • 免费:AWS Lambda每月免费处理100万个请求,每月免费处理400000 GB秒的计算时间,这意味着您1000/天的请求速率将很容易在本协议项下覆盖。更多细节

  • 非常简单的设置:Lambda函数的实现非常简单。使用AWS控制台或AWS cli将SQS队列与Lambda函数连接。更多细节。Lambda函数代码只有几行。它从SQS队列接收消息并写入S3

  • 日志记录和监视:您不需要任何单独的设置来跟踪性能指标—Lambda处理了多少条消息,成功了多少条消息,花了多少时间。所有这些指标都由AWS CloudWatch自动生成。您还可以获得一个内置的重试机制,只需指定重试策略,AWS Lambda就会处理其余的问题

  • 缺点

  • 这种方法的一个缺点是,Lambda的每次调用都会写入S3中的一个单独文件,因为S3不提供附加到现有文件的API。因此,您每天将在S3中获得1000个文件。也许您对此没有问题(取决于您希望在S3中如何处理这些数据)。如果没有,您将需要一个单独的作业来定期加入所有文件,或者从S3下载现有文件,附加到它并上传回来,这会使您的Lambda变得更复杂

  • 数据库,另一方面,它是为不同类型的用例构建的:从Amazon S3加载大型数据集,执行分析、SQL类查询、构建ML模型等。它不适合这种用例。

    可能的解决方案:如果消息接近,请考虑使用Fi软管来处理追加对象。