【发布时间】:2017-08-28 08:33:49
【问题描述】:
是否可以将 AWS Lambda 与 Apache Kafka 集成? 我想将消费者放入 lambda 函数中。当消费者收到消息时,lambda 函数就会执行。
【问题讨论】:
-
您真的应该考虑 AWS Kinesis,它与 Kafka 相当,并与 Lambda 原生集成。
标签: amazon-web-services apache-kafka aws-lambda
是否可以将 AWS Lambda 与 Apache Kafka 集成? 我想将消费者放入 lambda 函数中。当消费者收到消息时,lambda 函数就会执行。
【问题讨论】:
标签: amazon-web-services apache-kafka aws-lambda
继续阿拉法特的观点。我们已经成功地构建了一个使用 AWS Lambdas 从 Kafka 消费的基础设施。以下是一些陷阱:
context 对象中还剩下多少时间,并给自己一些回旋余地来处理您在消费者中填充的缓冲区,该缓冲区可能不会被读取到文件中除非你打电话给close()。我们正在使用 Apache Airflow 进行调度。我听说 cloudwatch 也可以。
【讨论】:
这里是 AWS article on scheduled lambdas。
鉴于您的 Kafka 安装将在 VPC 中运行,最佳实践是将您的 Lambda 配置为也在 VPC 中运行 - 这将简化运行 Kafka 的 EC2 实例的安全组配置。
Here 是关于配置 Lambda 以在 VPC 中运行的 AWS 博客文章。
【讨论】:
是的,AWS Lambda 函数中很有可能有一个 Kafka 消费者。
但是请注意,您将无法使用某种通知来调用 lambda。您将不得不轮询 Kafka 主题。最简单的方法是使用Scheduled Lambda
【讨论】:
如果您在 AWS (MSK) 中使用托管 apache kafka:
自 2020 年 8 月起,您可以连接 AWS Managed Streaming for Kafka (MSK) 作为事件源。不是您自己安装的 kafka 集群,但如果您已经使用 AWS 托管的 kafka,这可能会很有用。
【讨论】:
有一个社区提供的Kafka Connector for AWS Lambda。此解决方案需要您在 EC2 或 ECS 等某个地方运行连接器。
【讨论】:
AWS 现在支持“将自托管 Apache Kafka 作为 AWS Lambda 的事件源”
当您创建新的 Lambda 时,在“配置”选项卡中,单击“添加触发器”,您现在可以选择并配置您的自托管 Apache Kafka。
欢迎在这里阅读更多内容:
https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html
【讨论】: